簡體   English   中英

為集合視圖內的按鈕創建動作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM