在静态UITableView中为UIButtons创建IBOutlets和IBActions

时间:2015-11-26 11:29:00

标签: ios objective-c iphone uitableview uibutton

我有UITableViewController,完全使用Interface Builder设计。 UITableViewController称为DonationTableView。我使用Static cellsUITableView有6个部分。我使用Static cells的原因是因为内容可以直接从Interface Builder填充,因为每个单元格都包含:

1)不同的尺寸

2)带有标签的标签

3)一个按钮

我还可以在AutoLayout内轻松使用Interface Builder,以确保此DonationTableViewController看起来适合所有设备。我知道我可以使用代码,但我仍然是新手,我对Interface Builder充满信心。

我有一个名为UITableViewCell的自定义DonationTableViewCell类,我已将其分配给UITableViewCell中的Interface Builder。我现在正在尝试为每个IBAction中的IBOutlet创建UIButtoncell,但是Assistant Editor向上,它不会让我实际上拖动以您通常的方式创建IBAction。如果我将UITableView更改为Dynamic,那么它允许我这样做,但如上所述,我有一个完全正常UITableViewStatic Cells,我只是想在自定义delegate类中创建UITableViewCell方法,以便我可以单击按钮并运行操作。

enter image description here

基本上,我希望能够将IBAction分配给UIButton中的UITableViewCell。我该怎么做呢?

任何想法都将不胜感激。

2 个答案:

答案 0 :(得分:1)

要在UiButton中使用Tableview,您需要遵循以下两个步骤。

(1)在桌面视图中提供UIButton标记。

Ex:这里你的Button用uniq标签识别。还有Give UIButton Method

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
 cell.button.tag = indexPath.row;
 [cell.button addTarget:self action:@selector(btn_Clicked_Method:)forControlEvents:UIControlEventTouchUpInside];
}

(2)在UIButton方法

- (IBAction)btn_Clicked_Method:(id)sender {
    NSInteger tag= ((UIButton *)sender).tag
    NSLog(@"Button row %ld",(long)tag);
 }

答案 1 :(得分:1)

将按钮插座或IBAction拖到TableviewController

enter image description here