0

我尝试了很多东西——从对象浏览器中添加一个按钮、更改属性、搜索网络,但没有运气。本质上,我想做——在故事板中——:固定截图

您在其中看到“添加到联系人”“共享位置”和“添加到书签”。

4

3 回答 3

4

您应该创建一个UITableViewCellcontentView拥有 3 个单独的UIButtons. 要以编程方式执行此操作,在您的tableView:cellForRowAtIndexPath:数据源方法中,您可以使用类似于以下的代码:

- (UITableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString* identifier = @"cell";
    UITableViewCell* cell = [tableView dequeueReusableCellWithIdentifier:identifier];
    if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil];
        cell.backgroundColor = [UIColor clearColor];
        UIButton* button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        UIButton* button2 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        UIButton* button3 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
        button1.frame = UIEdgeInsetsInsetRect(cell.contentView.bounds, UIEdgeInsetsMake(0, 0, 0, 250)); 
        button2.frame = UIEdgeInsetsInsetRect(cell.contentView.bounds, UIEdgeInsetsMake(0, 125, 0, 125)); 
        button3.frame = UIEdgeInsetsInsetRect(cell.contentView.bounds, UIEdgeInsetsMake(0, 250, 0, 0)); 
        button1.autoresizingMask = UIViewAutoresizingFlexibleRightMargin;
        button2.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin;
        button3.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin;
        [cell.contentView addSubview:button1];
        [cell.contentView addSubview:button2];
        [cell.contentView addSubview:button3];
    }

    return cell;
}

此外,在tableView:willDisplayCell:您的委托的方法中,执行以下操作以使单元格的默认装饰完全消失:

- (void) tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath
{
    cell.backgroundView = nil;
}

您应该获得与您发布的内容非常相似的结果。

于 2012-08-08T23:20:35.527 回答
2

将三个按钮放在一个 320 像素宽、60 高的 UIView 中,然后将该视图设置为表格的页脚。

于 2012-08-08T23:08:09.937 回答
2

使用styeUITableView进行样式设置。 这三个以编程方式添加到. 或者,您可以将三个添加到最后一个.UITableViewStyleGrouped
UIButtonstableView.tableFooterView
UIButtonscontentViewcell

添加按钮,例如:

UIButton *theButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
theButton.frame = CGRectMake(20, 20, 200, 40); 
[theButton setTitle:@"Button" forState:UIControlStateNormal];
[theButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
[cell.contentView addSubview:theButton];

使用反复试验正确获取按钮位置:)

于 2012-08-08T23:08:48.837 回答