Я хотел бы знать, можно ли регулировать ширину UITableViewCell. Я хотел бы поместить изображение слева от него (например, вид контакта в адресной книге). Я нашел сообщение here, которое дает изображение именно того, что я пытаюсь выполнить. Я также хотел бы подтвердить ответы на этот пост.Можно ли настроить ширину UITableViewCell?
ответ
OS3.0 имеет некоторые опции стиля в API, которые могут делать то, что вы хотите.
Или, вы можете создать полностью настраиваемую ячейку просмотра таблицы в Interface Builder, например, в одном из моих приложений я делаю это в моем cellForRowAtIndexPath:
PlaceViewCell *cell = (PlaceViewCell*) [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [self createNewPlaceCellFromNib];
}
И это метод выкопать его из NIB
- (PlaceViewCell*) createNewPlaceCellFromNib {
NSArray* nibContents = [[NSBundle mainBundle]
loadNibNamed:@"PlaceCell" owner:self options:nil];
NSEnumerator *nibEnumerator = [nibContents objectEnumerator];
PlaceViewCell* placeCell = nil;
NSObject* nibItem = nil;
while ((nibItem = [nibEnumerator nextObject]) != nil) {
if ([nibItem isKindOfClass: [PlaceViewCell class]]) {
placeCell = (PlaceViewCell*) nibItem;
if ([placeCell.reuseIdentifier isEqualToString: @"Place" ]) {
//NSLog(@"PlaceCell - we have a winner!");
break; // we have a winner
} else {
placeCell = nil;
NSLog(@"PlaceCell is nil!");
}
}
}
return placeCell;
}
Затем вы можете создать подкласс UITableViewCell непосредственно в Interface Builder.
IMO вам не разрешено изменять ширину UITableViewCell, но, к счастью, вам это не нужно. Apple поставляет четыре стиля по умолчанию, которые могут отображать одно изображение на левой границе ячейки (если вы хотите разместить его в другом месте, вам нужно создать собственный макет).
Четыре стили UITableViewCellStyle являются:
- UITableViewCellStyleDefault
- UITableViewCellStyleSubtitle
- UITableViewCellStyleValue1
- UITableViewCellStyleValue2
Чтобы встроить изображение в UITableViewCell вы Shou л.д. прочитать руководство по программированию Tableview в Apples Developer Подключение к сети: Using Cell Objects in Predefined Styles
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MyIdentifier"];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"MyIdentifier"];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
NSDictionary *item = (NSDictionary *)[self.content objectAtIndex:indexPath.row];
cell.textLabel.text = [item objectForKey:@"mainTitleKey"];
cell.detailTextLabel.text = [item objectForKey:@"secondaryTitleKey"];
NSString *path = [[NSBundle mainBundle] pathForResource:[item objectForKey:@"imageKey"] ofType:@"png"];
UIImage *theImage = [UIImage imageWithContentsOfFile:path];
cell.imageView.image = theImage;
return cell;
}
Спасибо, что поделились ими, но они не кажутся полезными для того, что я пытаюсь выполнить. Я хотел бы, чтобы изображение было вне клетки полностью (смещено только слева от ячейки) в качестве изображения в сообщении, которое я связывал. Опять же, я не хочу изображение внутри ячейки. Откройте контакты на вашем iPhone или iPod touch и зайдите в детали человека.Вы можете точно видеть, что я пытаюсь сделать там. Смещение изображения слева от ячеек вверху. – 2009-06-25 22:45:48
Хорошо, я вижу, но вы действительно должны прочитать это руководство по программированию таблиц. Среди объясненных способов здесь есть еще один способ. Если вы полностью подклассифицируете UITableViewCell, вы совершенно свободны в том, что хотите сделать. –
Вам не нужно, чтобы изменить ширину ячейки. Вам действительно нужно сделать ячейку похожей на, она имеет разную ширину (например, путем изменения ширины видимого поднабора).
К сожалению, ваша ссылка не работает, поэтому я не могу быть более конкретным.
Вы также можете попробовать использовать метод tableView:indentationLevelForRowAtIndexPath:
в протоколе UITableViewDelegate
.
- 1. Можно ли установить фиксированную ширину в UIImageView внутри UITableViewCell?
- 2. Как можно настроить UITableViewCell даже после reloadData?
- 3. Настроить ширину UITableView на основе UITableViewCell с самой длинной шириной
- 4. Можно ли настроить TextView на разную ширину линии?
- 5. Можно ли настроить ширину контрольной метки в Bootstrap?
- 6. Как можно настроить ширину SharePoint: FormField?
- 7. Настроить ширину Grouped UITableView
- 8. Установите ширину UITableViewCell
- 9. Как изменить ширину UITableViewCell?
- 10. Можно ли изменить ширину счетчика?
- 11. можно ли autolayout ширину UISlider
- 12. Можно ли настроить VideoCastControllerActivity?
- 13. Можно ли настроить UIImagePickerController?
- 14. Можно ли настроить C++?
- 15. Можно ли настроить simple_list_item_2?
- 16. Можно ли настроить BackOffice
- 17. Можно ли настроить текстовое поле в iOS?
- 18. UITableViewCell не заполняет ширину таблицы
- 19. Как настроить ширину контейнера
- 20. Как настроить UITableViewCell программно?
- 21. Невозможно настроить UITableViewCell height
- 22. Можно ли настроить значок UITabBarItem?
- 23. Можно ли настроить схему Swagger?
- 24. Можно ли настроить сообщение «Подождите»?
- 25. Можно ли настроить команды perforce?
- 26. Можно ли настроить чертежи Ember
- 27. Можно ли настроить проект buildSrc?
- 28. Можно ли настроить свойства @synthesized?
- 29. Можно ли настроить MFMailComposeViewController вообще?
- 30. Можно ли настроить тип объекта?
Ум, указывающий мне в сторону этих полезных API? Я посмотрел на diff/doc 2.2/3.0 и не мог найти новые параметры стиля, о которых вы говорите. Кроме того, почему-то это помогает создать пользовательскую ячейку представления в Interface Builder? У меня нет проблем с созданием ячейки, у меня просто проблемы с настройкой ее ширины. – 2009-06-25 12:57:59
см. Ответ от Daskaja для получения подробных сведений о предопределенных стилях ячеек в 3.0 – frankodwyer