我正在测试一个非常简单的应用。我有一个tableview,其中包含以下用于设置单元格的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell=[tableView dequeueReusableCellWithIdentifier:@"MyBasicCell"];
cell.textLabel.text=[phones objectAtIndex:indexPath.row];
cell.accessoryType = UITableViewCellAccessoryDetailButton;
return cell;
}
我在UIViewController中使用了UITableView。我尝试了所有类型的accessoryType但没有显示。
我试图创建另一个类,它是UITableViewController的子类,它工作正常(与上面相同的源代码)。
这是Xcode 6中的错误还是Apple开始放弃Objective C?
更新:Here是整个项目。
答案 0 :(得分:2)
最后我发现了原因。我正在使用自动布局,我不熟悉自动布局,所以我无法正确设置(我猜)。所以我禁用了autolayout(和size Classes)并调整了tableview的自动调整大小,它适用于iPhone 4“,4.7”和5.5“。
以下是插图:
答案 1 :(得分:1)
你必须开始你的细胞。例如:
static NSString *cellIdentifier = @"cellID";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (!cell)
{
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
答案 2 :(得分:0)
我遇到同样的问题,我的解决方法是在“viewDidAppear”中设置配件类型。
-(void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
UITableViewCell *c = [yourTable cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
[c setAccessoryType:UITableViewCellAccessoryCheckmark];
}
它对我有用。
答案 3 :(得分:0)
如果您正在使用Autolayout,请务必设置表格视图的边距