[英]Create action for a button inside collection view
我在情節提要板中創建了一個UICollection視圖,在單元格中創建了一個按鈕,每當我點擊按鈕時,都應根據自己的條件過濾數據,因此單元格中的每個按鈕都會有不同的條件,任何人都可以幫助我解決這個問題? 我使用xcode 9和Swift 4。
使用addTarget
您的按鈕內的cellForItemAt:indexPath
數據源,並添加一個selector
將在其中定義按鈕的作用。 添加此按鈕的標記,(將其添加到indexPath.row
,可用於區分按鈕與collectionview)
cell.yourButton.addTarget(self, action: #selector(yourButtonTapped), for: .touchUpInside)
cell.yourButton.tag = indexPath.row
現在,添加該按鈕的操作,並在其中執行所需的任何操作。
@IBAction func yourButtonTapped(_ sender: UIButton) {
//perform action
}
創建一個自定義UICollectionViewCell類型。 將IBAction連接到單元。
創建一個協議,該協議可使單元通知用戶用戶點擊按鈕的集合視圖。 讓動作將水龍頭傳遞給代表。
在cellForItemAt()
方法中,將視圖控制器設置為委托。
現在,在您的視圖控制器中,根據需要處理水龍頭。
嘗試此為目標c
在cellForRowAtIndexPath處添加以下代碼
cell.btnOk.tag = indexPath.row ;
[cell.btnOk addTarget:self action:@selector(OkBtnAction:) forControlEvents:UIControlEventTouchUpInside] ;
比添加該按鈕的動作
-(IBAction)OkBtnAction:(id)sender
{
UIButton* btn=(UIButton*)sender;
NSLog(@"row: %ld",(long)btn.tag);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.