为集合视图中的按钮创建操作

时间:2018-04-27 10:23:33

标签: ios swift xcode uicollectionview

我在故事板中创建了一个UICollection View,我在单元格内部创建了一个按钮,每当我点击按钮时,我应该根据我的条件过滤数据,因此单元格内的每个按钮都会有不同的条件,任何人都可以帮我解决这个问题吗?我使用xcode 9和swift 4。

3 个答案:

答案 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] ;