Добавление маленькой стрелки с правой стороны ячейки в ячейке TableView на iPhone


140

Это должно быть достаточно просто.

У меня есть приложение для iPhone с TableView. Как мне добавить маленькую классическую стрелку с правой стороны каждой ячейки?

Ответы:


322

Просто установите соответствующее свойство accessoryType для UITableViewCell .

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

В Swift 3 ,

cell.accessoryType = .disclosureIndicator

1
Обратите внимание, что если вы хотите повернуть стрелку ... вы не можете этого сделать . Вы должны использовать изображение .. stackoverflow.com/questions/13836606/…
Fattie

1
Для Swift просто используйте cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator
Quintin Balsdon

1
cell.accessoryType = .DisclosureIndicatorработает и в Swift.
Тим Вермёлен,

SWIFT 3.0: cell.accessoryType = .disclosureIndicator
Брайан,

68

Вы можете сделать это в Интерфейсном Разработчике. Просто щелкните мышью на табличном представлении , перейдите к Prototype Cells с правой стороны и сделайте это 1. Затем щелкните эту Prototype Cell и справа найдите Accessory . В раскрывающемся списке щелкните Индикатор раскрытия информации .

Пример построителя интерфейсов


Я не вижу ничего вроде "Ячейки прототипа" в моем xCode ... Доступно ли это в некоторых версиях xCode?
Rasto

Я также не могу найти "Клетки-прототипы". Я использовал cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; в пользовательской ячейке.
Аркадий

1
Эй, @rzv, можешь еще немного увеличить изображение? Я забыл свои очки
Abbood 06

7

Вы можете установить маленькую классическую стрелку как двухстороннюю, как показано ниже

1) Использование встроенного метода вспомогательного типа UITableViewCell

[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator]; 

2) Создание собственного вида аксессуара с собственным изображением

(I) Перетащите изображение стрелки (например, circle_arrow_right.png) в свой проект.

(II) Метод расчета ячеек для каждой строки, как показано ниже.

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

Напишите ниже код:

if (cell ==nil) {
    cell=[[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault  reuseIdentifier:CellIdentifier]autorelease];

    //For creating custom accessory view with own image
    UIImageView *accessoryView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 30, 30)];
    [accessoryView setImage:[UIImage imageNamed:@"circle_arrow_right.png"]];
    [cell setAccessoryView:accessoryView];
    [accessoryView release];

    //Your other components on cells
     .............
    .............

 }

[ Примечание: выберите подходящие изображения для дополнительного просмотра и добавьте нужные ячейки. Выберите маленькие изображения для дополнительных представлений для повышения производительности.]



4

для простой стрелки:

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

и для подробной стрелки:

cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;

cell.accessoryType = UITableViewCellAccessoryType.DisclosureIndicator;)
MR


3

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

UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellAccessoryDisclosureIndicator reuseIdentifier:identifier];

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.