UIStackView 是否像 UITableView 一样有委托?
Does UIStackView have a delegate like a UITableView has?
我在 UIStackView
中添加三个水平对齐的按钮。该按钮来自 Nib
文件,我在笔尖的所有者中有一个 @IBAction
。
我的问题是,我想知道被点击的按钮的索引。 UIStackView
是否有类似于 UITableView's
cellForRowAtIndexPath
的代表?
目前我正在以一种丑陋的方式为按钮设置标题,然后在单击按钮时获取按钮标题并执行我的操作。有更好的方法吗?
不,UIStackView
没有代表 class。您可以在将对象添加到堆栈视图时以编程方式添加操作。
不,StackView
没有您预期的任何代表。如果您像下面这样创建自己的委托会更好
protocol MyDelegate: class {
func buttonSelectedAt(_ index: Int?)
}
点击按钮
delegate.buttonSelectedAt(sender.tag)
注意:不要忘记为您的按钮添加标签,以便您可以分别识别每个按钮。
我在 UIStackView
中添加三个水平对齐的按钮。该按钮来自 Nib
文件,我在笔尖的所有者中有一个 @IBAction
。
我的问题是,我想知道被点击的按钮的索引。 UIStackView
是否有类似于 UITableView's
cellForRowAtIndexPath
的代表?
目前我正在以一种丑陋的方式为按钮设置标题,然后在单击按钮时获取按钮标题并执行我的操作。有更好的方法吗?
不,UIStackView
没有代表 class。您可以在将对象添加到堆栈视图时以编程方式添加操作。
不,StackView
没有您预期的任何代表。如果您像下面这样创建自己的委托会更好
protocol MyDelegate: class {
func buttonSelectedAt(_ index: Int?)
}
点击按钮
delegate.buttonSelectedAt(sender.tag)
注意:不要忘记为您的按钮添加标签,以便您可以分别识别每个按钮。