UITextField在UITableViewCell中

时间:2012-03-24 07:37:58

标签: iphone ios ios5 uitableview ios4

我想将UItextField放在UITableViewCell中,但我有问题。文本字段不会出现。这是我的代码:

-(id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString         *)reuseIdentifier {
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        self.textField = [[UITextField alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 120.0f, 45.0f)];
        self.textField.textColor = [UIColor blackColor];

        [self.contentView addSubview:self.textField];
    }

    return self;
}


- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    TextFieldCell *cell = (TextFieldCell*)[tableView  dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[TextFieldCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
    switch (indexPath.row) {
        case 1:
            cell.textField.placeholder = @"Username";
            break;
        case 2:
            cell.textField.placeholder = @"Password";
            break;
        case 3:
            cell.textField.placeholder = @"Server Address";
            break;
        case 4:
            cell.textField.placeholder = @"Description";
            break;            
        default:
            break;
    }

    return cell;
}

我测试并调用了initWithStyle方法。有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:2)

如果 TextFieldCell .xib 文件,则拖放textview并将所有属性设置为“界面”构建器其他 您只能通过 *

创建* .XIB 以用作TableViewCell

在.h文件中

IBOutlet UITableViewCell * CUSTOM_CELL_XIB;

在cellForRowAtIndexPath方法的.m文件中

static NSString *CellIdentifier = @"Cell";


UITableViewCell *cell = (UITableViewCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) 
{
    [[NSBundle mainBundle] loadNibNamed:@"CUSTOM_CELL_XIB" owner:self options:nil]; 
    cell = CUSTOM_CELL_XIB;
}

直接拖放textField或任何你想要的UI,我认为这是自定义单元格创建的有效方法。

这将完美地运作