我想以编程方式在UITableViewCell中添加UITextField,这个文本字段应该在所有iOS设备上都有一致的视图(8个像素填充来自所有角落,即cell.contentView)。
所以我编写了代码片段:
UITableViewCell * cell2 = [tableView dequeueReusableCellWithIdentifier:@"startLocation"];
if (cell2 == nil)
{
cell2 = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:@"startLocation"];
}
UITextField *endLoc = [[UITextField alloc] initWithFrame:CGRectMake(8,8,340,28) ];
endLoc.placeholder = @"Start Location";
[cell2.contentView addSubview:endLoc];
[cell2.contentView setTranslatesAutoresizingMaskIntoConstraints:NO];
NSLayoutConstraint *textLeftConstraint = [NSLayoutConstraint constraintWithItem: endLoc attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:cell2.contentView attribute:NSLayoutAttributeLeading multiplier:1.0f constant:8.0f];
NSLayoutConstraint *textRightConstraint = [NSLayoutConstraint constraintWithItem: endLoc attribute:NSLayoutAttributeTrailing relatedBy:NSLayoutRelationEqual toItem:cell2.contentView attribute:NSLayoutAttributeTrailing multiplier:1.0f constant:8.0f];
[cell2.contentView addConstraint:textLeftConstraint];
[cell2.contentView addConstraint:textRightConstraint];
return cell2;
我已在tableview委托方法cellForRowAtIndexPath
中添加了此片段这是我到目前为止所知道的代码。我遗失了什么?
我想得到的最终输出如下所述:
两个文本字段 - 开始位置和开始时间。 起始位置的约束:从左侧8px,应该距离开始时间20 px(宽度应大于70%)。 开始时间的约束:从开始位置文本字段开始剩余20px,从右角开始应为8px(宽度应约为20-25%)。
此单元格视图应在所有设备上保持一致。开始位置文本将从左角放置8px并占据至少70%的宽度。 任何帮助。