【发布时间】:2009-11-21 13:45:14
【问题描述】:
我使用 Interface Builder (IB) 在 iPhone 应用程序中创建了一个表格视图。我的表格样式设置为分组,并在 IB 中以这种方式显示。但是,每当我构建和运行时,它都会在模拟器中显示为普通样式。
我将另一个视图设置为“分组”并且没有遇到此问题。有没有人遇到过这个问题?
视图的其余部分不是以编程方式创建的,所以我想避免为这个视图这样做。一定是我遗漏了什么。
我在其中做很多事情的唯一 tableView 方法是单元格处理程序方法,我将文本框合并到选择字段中:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:CellIdentifier] autorelease];
}
if (indexPath.section == 0) {
if (indexPath.row == 0) {
cell.textLabel.text = @"Title";
UITextField *listTitleTextField = [ [ UITextField alloc ] initWithFrame: CGRectMake(150, 10, 145, 38) ];
listTitleTextField.adjustsFontSizeToFitWidth = YES;
listTitleTextField.textColor = [UIColor blackColor];
listTitleTextField.font = [UIFont systemFontOfSize:17.0];
listTitleTextField.placeholder = @"Your Title";
listTitleTextField.backgroundColor = [UIColor whiteColor];
listTitleTextField.autocorrectionType = UITextAutocorrectionTypeNo; // no auto correction support
listTitleTextField.autocapitalizationType = UITextAutocapitalizationTypeNone; // no auto capitalization support
listTitleTextField.textAlignment = UITextAlignmentRight;
listTitleTextField.keyboardType = UIKeyboardTypeDefault; // use the default type input method (entire keyboard)
listTitleTextField.returnKeyType = UIReturnKeyDone;
listTitleTextField.tag = 0;
listTitleTextField.delegate = self;
listTitleTextField.clearButtonMode = UITextFieldViewModeUnlessEditing; // no clear 'x' button to the right
if (self.wishList.listTitle == nil || [self.wishList.listTitle length] == 0) {
listTitleTextField.text = @"";
}
else {
listTitleTextField.text = self.wishList.listTitle;
}
[listTitleTextField setEnabled: YES ];
[cell addSubview: listTitleTextField ];
[listTitleTextField release];
}
else if (indexPath.row == 1) {
cell.detailTextLabel.text = @"Pick an Icon";
cell.textLabel.text = @"List Icon";
}
}
else {
cell.textLabel.text = @"Add Wish";
}
return cell;
}
【问题讨论】:
-
问题并不是要发布任何编程代码,在 IB 中将 Style 设置为“分组”,然后只需执行常规 tableview I/F 方法来设置部分名称并根据需要修改表格单元格以显示值。
-
您是否将它与 UITabBarController 结合使用?
-
不,只是一个导航控制器,显示的按钮在底部工具栏上
标签: iphone objective-c uitableview iphone-sdk-3.0