你可以以编程方式更改UITableView创建后的样式吗?

时间:2011-05-06 10:46:21

标签: iphone uitableview

(这是以编程方式交换现有tableview的样式而不是以编程方式设置表视图样式)

我有一种情况,我在一个视图中使用了一个分组表视图,这个表是可编辑的,每当它进入可编辑视图时它就会被取代,所以我认为只要它进入编辑模式就将它的样式改为plain。 / p>

这可能吗? (先谢谢。)

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

static NSString *MyIdentifier = @"MyIdentifier";
MyIdentifier = [NSString stringWithFormat:@"Cell %d",indexPath.row];


 // MyIdentifier =@"tblCellView";
    NSString *offendersImagePath = [self applicationDocumentsDirectory];
    //NSLog(@"%@", dbPath);
    offendersImagePath=[offendersImagePath stringByAppendingPathComponent:@"Images"];


CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if(cell == nil) {
    [[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil];
    cell = aCustomCell;
    aCustomCell=nil;
}

3 个答案:

答案 0 :(得分:54)

不,这是不可能的 在苹果文档中看到这是可能的: -

  

初始化表格视图时设置表格样式(请参阅   initWithFrame:方法的风格:)。你不能   之后修改风格。

所以你以后不能修改它......

答案 1 :(得分:2)

我不认为您可以动态更改UITableView的样式并设置为plain或groups。我认为你必须在初始化时这样做

-(id)initWithFrame:(CGRect)frame style:(UITableViewStyle)style

答案 2 :(得分:0)

另一种可能的解决方案是拥有多个UITableViewCell原型并在必要时进行切换。