1

我想以编程方式将两个文本字段添加到 tableViewCell 子类(稍后会详细介绍),但很难从视图控制器访问文本字段。

我的表格视图子类是:

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        textField = [[UITextField alloc] initWithFrame:CGRectZero];
        textField.clearsOnBeginEditing = NO;
        textField.textAlignment = UITextAutocapitalizationTypeAllCharacters;
        textField.returnKeyType = UIReturnKeyDone;
        [self.contentView addSubview:textField];
    }
    return self;
}


- (void)layoutSubviews
{
    [super layoutSubviews];
    CGRect rect2 = CGRectMake(100.0, 10.0, 200, 30.0);
    textField.text = @"testing";
    [textField setFrame:rect2];

}

在我的视图控制器中:

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

    XTSessionCell_iPad *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier    forIndexPath:indexPath];

    if (cell == nil) {
        cell = [[XTSessionCell_iPad alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];
    }

   // Configure the cell...
   // ????
   // cell.textField.text = @"enter";

   return cell;
}

任何帮助都非常有用。

谢谢

4

1 回答 1

1

正如其他人在评论中提到的那样,textView在 XTSessionCell_iPad.h 文件中设置只读属性。至少您的 XTSessionCell_iPad.h 文件应如下所示:

@interface XTSessionCell_iPad : UITableViewCell

@property (nonatomic, readonly) UITextField *textField;

@end

并且您的 XTSessionCell_iPad.m 文件将具有类扩展名以允许写入该属性:

@interface XTSessionCell_iPad()

@property (nonatomic, readwrite) UITextField *textField;

@end
于 2013-11-14T17:16:10.950 回答