在 x 个元素上将 isHidden 设置为 false
Setting isHidden to false on x amount of elements
我正在尝试根据用户在文本字段中输入的内容取消隐藏 n 个元素。
所以用户在文本字段中输入 1 - 5 之间的数字,然后单击提交,这会调用 createSplit
。如您所见,它取消隐藏视图,然后我希望它循环 x(x 是用户输入的数字)次数以取消隐藏 day(i)View
textfield
@IBAction func createSplit(_ sender: Any)
{
noOfExerciseView.isHidden = false
let noOfDays: Int = Int(numberOfDays.text!)!
for i in 1...noOfDays
{
day\(i)View.isHidden = false
}
}
我有一个可行的解决方案,但它不是最有效的,所以我希望有人能以有效的方式帮助解决这个问题。
@IBAction func createSplit(_ sender: Any)
{
noOfExerciseView.isHidden = false
let noOfDays: Int = Int(numberOfDays.text!)!
for i in 1...noOfDays
{
if (i==1)
{
day1View.isHidden = false
} else if (i==2)
{
day2View.isHidden = false
} else if (i==3)
{
day3View.isHidden = false
} else if (i==4)
{
day4View.isHidden = false
} else if (i==5)
{
day5View.isHidden = false
}
}
}
字符串插值不能用于设置变量名:
day\(i)View.isHidden // does not work
你最好的办法是使用一个出口集合来定义你所有的日视图。
而不是这个:
@IBOutlet var day1View: UITextField!
@IBOutlet var day2View: UITextField!
@IBOutlet var day3View: UITextField!
//...
这样做:
@IBOutlet var dayViews: [UITextField]!
然后你可以这样写你的循环:
for i in 0...noOfDays-1
{
dayViews[i].isHidden = false
}
请注意,为此,您需要删除现有插座并重新连接它们。
如果您使用故事板,那么当您从第一个文本字段 Control-drag 到 class 文件时,select Outlet Collection 作为连接类型并将其命名为 dayViews
。要将剩余的文本字段添加到集合中,只需将每个文本字段 Control-drag 添加到 class 文件中的 dayViews
var。
我正在尝试根据用户在文本字段中输入的内容取消隐藏 n 个元素。
所以用户在文本字段中输入 1 - 5 之间的数字,然后单击提交,这会调用 createSplit
。如您所见,它取消隐藏视图,然后我希望它循环 x(x 是用户输入的数字)次数以取消隐藏 day(i)View
textfield
@IBAction func createSplit(_ sender: Any)
{
noOfExerciseView.isHidden = false
let noOfDays: Int = Int(numberOfDays.text!)!
for i in 1...noOfDays
{
day\(i)View.isHidden = false
}
}
我有一个可行的解决方案,但它不是最有效的,所以我希望有人能以有效的方式帮助解决这个问题。
@IBAction func createSplit(_ sender: Any)
{
noOfExerciseView.isHidden = false
let noOfDays: Int = Int(numberOfDays.text!)!
for i in 1...noOfDays
{
if (i==1)
{
day1View.isHidden = false
} else if (i==2)
{
day2View.isHidden = false
} else if (i==3)
{
day3View.isHidden = false
} else if (i==4)
{
day4View.isHidden = false
} else if (i==5)
{
day5View.isHidden = false
}
}
}
字符串插值不能用于设置变量名:
day\(i)View.isHidden // does not work
你最好的办法是使用一个出口集合来定义你所有的日视图。
而不是这个:
@IBOutlet var day1View: UITextField!
@IBOutlet var day2View: UITextField!
@IBOutlet var day3View: UITextField!
//...
这样做:
@IBOutlet var dayViews: [UITextField]!
然后你可以这样写你的循环:
for i in 0...noOfDays-1
{
dayViews[i].isHidden = false
}
请注意,为此,您需要删除现有插座并重新连接它们。
如果您使用故事板,那么当您从第一个文本字段 Control-drag 到 class 文件时,select Outlet Collection 作为连接类型并将其命名为 dayViews
。要将剩余的文本字段添加到集合中,只需将每个文本字段 Control-drag 添加到 class 文件中的 dayViews
var。