Можете ли вы программно изменить стиль 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;
}
Ответы
Ответ 1
Нет, это невозможно
Посмотрите, как это написано в документации на яблоко: -
Вы устанавливаете стиль таблицы при инициализации представления таблицы (см. initWithFrame: стиль:). Ты не можешь измените стиль после этого.
Итак, вы не можете изменить его впоследствии...
Ответ 2
Я не думаю, что вы можете изменить стиль UITableView динамически и установить равную или сгруппированную. Я думаю, вы должны это сделать, инициализируя его
-(id)initWithFrame:(CGRect)frame style:(UITableViewStyle)style
Ответ 3
Другим возможным решением могло бы быть использование нескольких прототипов UITableViewCell и их переключение при необходимости.