我在故事板中创建了一个UICollection View,我在单元格内部创建了一个按钮,每当我点击按钮时,我应该根据我的条件过滤数据,因此单元格内的每个按钮都会有不同的条件,任何人都可以帮我解决这个问题吗?我使用xcode 9和swift 4。
答案 0 :(得分:1)
在addTarget
数据源中使用按钮的cellForItemAt:indexPath
并添加selector
,其中将定义按钮的操作。添加此按钮的标记(将其添加到您的indexPath.row
,可用于区分按钮和集合视图)
cell.yourButton.addTarget(self, action: #selector(yourButtonTapped), for: .touchUpInside)
cell.yourButton.tag = indexPath.row
现在添加该按钮的动作并在其中执行您需要的任何动作。
@IBAction func yourButtonTapped(_ sender: UIButton) {
//perform action
}
答案 1 :(得分:1)
创建自定义UICollectionViewCell类型。将IBAction连接到电池。
创建一个协议,让单元格通知集合视图用户点击了一个按钮。将操作传递给代表。
在cellForItemAt()
方法中,将视图控制器设置为委托。
现在,您的视图控制器会根据需要处理点按。
答案 2 :(得分:0)
尝试使用Objective c
在cellForRowAtIndexPath
添加以下代码protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
new CryptoCoinsMap(modelBuilder.Entity<CoinMaster>());
new CoinQuotesDailyMap(modelBuilder.Entity<CoinQuotesDaily>());
}
添加该按钮的操作
cell.btnOk.tag = indexPath.row ;
[cell.btnOk addTarget:self action:@selector(OkBtnAction:) forControlEvents:UIControlEventTouchUpInside] ;