Подтвердить что ты не робот

Можете ли вы программно изменить стиль UITableView после его создания?

(Речь идет о программной замене стиля существующего табличного представления, а не на настройке стиля таблицы таблицы)

У меня есть ситуация, когда я использовал сгруппированное представление таблицы в представлении, что эта таблица доступна для редактирования, и всякий раз, когда она переходит к редактируемому представлению, она перемещается, поэтому я думал, что она должна менять свой стиль до простой, когда он переходит в режим редактирования.

Возможно ли это? (Спасибо заранее.)

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

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


 // MyIdentifier [email protected]"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;
}
4b9b3361

Ответ 1

Нет, это невозможно Посмотрите, как это написано в документации на яблоко: -

Вы устанавливаете стиль таблицы при инициализации представления таблицы (см. initWithFrame: стиль:). Ты не можешь измените стиль после этого.

Итак, вы не можете изменить его впоследствии...

Ответ 2

Я не думаю, что вы можете изменить стиль UITableView динамически и установить равную или сгруппированную. Я думаю, вы должны это сделать, инициализируя его

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

Ответ 3

Другим возможным решением могло бы быть использование нескольких прототипов UITableViewCell и их переключение при необходимости.