我是一个助手,可以为您进行翻译。
我正在创建一个自定义的UITableViewCell(通过子类化以编程方式),其中包含一个标签和一个文本字段。
这段代码:
#import "TextCell.h"
@implementation TextCell
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
UITextField *subjectField = [[UITextField alloc] initWithFrame:CGRectMake(59, 11, 399, 21)];
subjectField.font = [UIFont systemFontOfSize:17];
subjectField.placeholder = @"(placeholder)";
[self.contentView addSubview:subjectField];
self.textField = subjectField;
}
return self;
}
不可见文本字段的结果:
但是如果我选择这个单元格,文本字段就会变成可见状态:
如果我实现
- (void)layoutSubviews
{
self.textField.frame = CGRectMake(59, 11, 399, 21);
/* thus text field init method becomes initWithFrame:CGRectZero;
}
文本字段变得可见,但标签消失,单元格的宽度突然增加:
![enter image description here](https://istack.dev59.com/EkKb8.webp)