我有一個UIButton在UITableViewCell中...... 我想執行的UIButton的行動..執行行動的UITableView
我需要將數據發送到已註冊的@選擇方法此按鈕,以便我可以在用戶按此按鈕時執行操作。
如何做到這一點,雖然我發現(id) sender
參數裏面的選擇器功能並不總是在cellForRowAtIndexPath
函數中創建的原始按鈕。
裏面的cellForRowAtIndexPath
功能:
UIImage* pdfImage = [UIImage imageNamed:@"icon_pdf.png"];
UIButton* pdfButton = [UIButton buttonWithType:UIButtonTypeCustom];
[pdfButton setImage:pdfImage forState:UIControlStateNormal];
pdfButton.accessibilityHint = @"path/to/pdf/file";
pdfButton.frame = CGRectMake(0, 0, 40, 40);
[pdfButton addTarget:self action:@selector(openUrlInBrowser:) forControlEvents:UIControlEventTouchUpInside];
cell.accessoryView = pdfButton;
這裏的發送功能:
-(void) openUrlInBrowser:(id)sender
{
NSLog(@"%@", [sender class]);
NSString * url=[sender accessibilityHint];
NSLog(@"%@",url);
NSLog(@"%@",sender);
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:url]];
}
你想讓那個按鈕覆蓋整個單元嗎? – Bourne
不,我不...... –
這將有助於查看這些NSLog語句的結果。還有你的cellForRowAtIndexPath方法的其餘部分。 – jrturton