我有两个单元格中有tableView
和textField
的{{1}}。而已。
我在textView
添加了它们。
我无法编辑内容!
可能触摸不会传递到文本字段和tableView:cellForRowAtIndexPath:
。
所有解决方案都要求我使用带有自定义单元类的xib。
所以我必须为两行textView
创建两个新类吗?
我不能通过将这些作为子视图添加到正常单元格tableView
?
其次,如果使用contentView
这种布局是过度的,
我需要在带有圆角的矩形边框中的textArea下面tableView
以及在它们之间使用普通textView
进行分隔的替代方法是什么?
答案 0 :(得分:0)
您不需要创建2个新类。添加它们就可以了,甚至可以在控制器中保留一个引用。
检查UITableView
,UITableViewCell
以及UITextField
和UITextView
上的userInteractionEnabled。如果禁用视图的用户交互,则每个子视图也会禁用其用户交互。如果要禁用行的选择,只需设置cell.selectionStyle = UITableViewCellSelectionStyleNone;
答案 1 :(得分:0)
您不需要xib来继承UITableViewCell。在这种情况下,添加到内容视图应该没问题,并且不需要子类。它听起来也像你不需要桌面视图。您可能需要的原因是您需要更多这些单元格,否则常规视图控制器可能更合适,更容易实现。
我使用Core Graphics在UIView对象上创建圆角,甚至添加阴影效果,但有一点学习曲线。您可以从互联网上搜索UIView圆角。
答案 2 :(得分:0)
尝试使用此代码
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (indexPath.row == 0){
UITextField *customField = [[UITextField alloc] initWithFrame:CGRectMake(60.0f, 10.0f, 400.0f, 60.0f)]
customField.autoresizingMask = UIViewAutoresizingFlexibleWidth;
customField.delegate = self;
customField.adjustsFontSizeToFitWidth = NO;
customField.borderStyle = UITextBorderStyleNone;
customField.autocapitalizationType = UITextAutocapitalizationTypeNone;
customField.autocorrectionType = UITextAutocorrectionTypeNo;
customField.enablesReturnKeyAutomatically = YES;
customField.returnKeyType = UIReturnKeyDefault;
customField.keyboardType = UIKeyboardTypeDefault;
[cell addSubview:customField];
}
if (indexPath.row == 1){
UITextView *notes = [[UITextView alloc] init];
notes.editable = YES;
notes.font = DEFAULT_FONT(16);
notes.text = infoNotesStr.text;
notes.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;
notes.backgroundColor = [UIColor blueColor];
notes.delegate = self;
CALayer *layers = notes.layer;
layers.cornerRadius = 10.0f;
[cell addSubview:notes];
}
}