-1

我使用 Master Detail 模板 (iPhone) 在 Xcode 的 Storyboard builder 中制作了一个带有按钮和标签的简单原型单元格。现在我需要知道如何以编程方式在单元格中添加其他标签或其他 UI 元素。请指教...谢谢。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    TSTest *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell2" forIndexPath:indexPath];

    NSDate *object = _objects[indexPath.row];

    cell.textLabel1.text = [object description];

    return cell;
}
4

2 回答 2

1

问题是你为什么要这样做。你可以这样做,但首先要考虑为什么。为不同目的创建不同的原型单元是否更好,然后您可以在运行时选择要使用的单元,并且所有单元的布局都设置在同一个位置(故事板)。

也就是说,当您使单元格出列时,您可以添加任何您想要的子视图。您如何处理新旧子视图的位置取决于您是否打开了自动布局。您还应该检查,每次将单元格出列时,它是否具有您之前添加的子视图(然后重用它们或删除它们)。

于 2013-07-22T21:59:42.307 回答
0

最简单的方法是以编程方式创建所有内容。但这是你的情况。

static NSString *TableViewCellIdentifier = @"Cell2";
if (myCustomCellView == nil){
            myCustomCellView = [[UITableViewCell alloc]
                          initWithStyle:UITableViewCellStyleDefault
                          reuseIdentifier:TableViewCellIdentifier];    
    //Creating my custom lable - myLable

    CGRect myFrame = CGRectMake(10.0, 0.0, 100, 25.0);
    myLabel = [[UILabel alloc] initWithFrame:myFrame];
    myLabel.backgroundColor = [UIColor clearColor];
    [myCellView.contentView addSubview:myLabel];
}
SomeDictionary *someDictionaryOrWhatEver = [[SomeDictionary alloc] init];
someDictionaryOrWhatEver = [self.someKindOfList objectAtIndex:indexPath.row];
myLabel.text = [NSString stringWithFormat:@"%@" , someDictionaryOrWhatEver.someKeyValue;

希望有帮助。

有关更多信息,请访问以下链接:http: //jslim.net/blog/2013/03/22/ios-create-uitableview-with-custom-cell-programmatically/ http://www.appcoda.com/customize- table-view-cells-for-uitableview/ http://code.tutsplus.com/tutorials/ios-sdk-crafting-custom-uitableview-cells--mobile-15702 干杯

于 2014-03-18T19:54:53.947 回答