UIStackView是否有像UITableView那样的委托?



我正在添加三个在UIStackView中水平对齐的按钮。该按钮来自一个Nib文件,我在笔尖的所有者中有一个@IBAction

我的问题是,我想知道单击的按钮的索引。UIStackView是否有类似于UITableView'scellForRowAtIndexPath的代表?

目前,我正在做一种丑陋的方式,我正在为按钮设置标题,并且在单击按钮时,我获得按钮标题并执行我的操作。有没有更好的方法可以做到这一点?

不,StackView没有您期望的任何委托。如果您像下面这样创建自己的委托会更好

protocol MyDelegate: class {
func buttonSelectedAt(_ index: Int?)
}

单击按钮时

delegate.buttonSelectedAt(sender.tag)

注意:不要忘记为您的按钮添加标签,以便您可以单独识别每个按钮。

不,UIStackView没有委托类。将对象添加到堆栈视图时,可以通过编程方式添加操作。

相关内容

最新更新