Objective c UITextView到UITableViewCell
我是诺布。我需要在UITableViewCell中插入UITextView,并动态调整大小,然后直接在单元格中键入。请帮我解决这个问题 这不是标准UITableView的工作原理。如果您正试图实现添加/编辑/删除项目,则有一种定义的方法 我建议您仔细阅读(特别是“插入和删除行和节”部分),因为这将使您走上正确的轨道Objective c UITextView到UITableViewCell,objective-c,uitableview,insert,resize,uitextview,Objective C,Uitableview,Insert,Resize,Uitextview,我是诺布。我需要在UITableViewCell中插入UITextView,并动态调整大小,然后直接在单元格中键入。请帮我解决这个问题 这不是标准UITableView的工作原理。如果您正试图实现添加/编辑/删除项目,则有一种定义的方法 我建议您仔细阅读(特别是“插入和删除行和节”部分),因为这将使您走上正确的轨道 当然,您可以创建自定义视图等。如果您确实想允许用户在单元格中键入内容,但作为一个自认的“noob”,我不建议您尝试这样做,除非您对上述方法更有信心,等等。您需要在UITableVie
当然,您可以创建自定义视图等。如果您确实想允许用户在单元格中键入内容,但作为一个自认的“noob”,我不建议您尝试这样做,除非您对上述方法更有信心,等等。您需要在UITableViewCell子类中添加UITextField:
@interface CustomCell : UITableViewCell {
UILabel *cellLabel;
UITextField *cellTextField;
}
@property (nonatomic, retain) UILabel *cellLabel;
@property (nonatomic, retain) UITextField *cellTextField;
@end
然后实施:
@implementation CustomCell
@synthesize cellLabel, cellTextField;
- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier {
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
cellLabel = [[UILabel alloc] initWithFrame:CGRectZero];
... // configure your label appearance here
cellTextField = [[UITextField alloc] initWithFrame:CGRectZero];
... // configure your textfield appearance here
}
return self;
}
最后,将自定义单元格用于:
- (CustomCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
CustomCell *cell = (CustomCell*)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[CustomCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
... // configure your cell data source here
return cell;
}
我不一定同意这一点。如果您正在实现一个供用户输入的表单,该怎么办?带有UITextFields的tableview绝对是一个很好的解决方案,事实上苹果公司经常使用它(例如,当你在iPhone上添加新联系人时).我只是在想,对于初学者来说,在创建自定义视图之前,了解标准的做事方式将是一个很好的起点。初学者应该学习标准(正确)的做事方式。然而,当他们提出更高级的问题时,我们在这里给他们提供更高级的答案。@W Dyson-这样做的好处是,OP现在在一个页面上都有很好的链接。:-)+1很好的参考实现。(对初学者来说可能有点多,但要有目标。)别担心@Constantine。如果您对答案感到满意,请将问题标记为已回答,因为这有助于提高我和您在社区中的声誉。谢谢你应该将Rog的回答标记为已接受,这样这个问题就结束了。(您和Rog都将获得声誉积分。)