Является ли `UITableViewCellAccessoryCheckmark` изображением? - PullRequest
4 голосов
/ 15 июня 2011

Мне нужно определить пользовательский UITableViewCell, где UITableViewCellAccessoryCheckmark находится на левой стороне UILabel.Должен ли я определить его как изображение или есть более разумный способ?

Большое спасибо, Карлос

Ответы [ 3 ]

6 голосов
/ 15 июня 2011

Это просто UIView относительно Документации Apple .Так что просто определите его как UIView.

Сначала вы должны создать свой собственный подкласс UITableViewCell (в данном случае он называется MyCell).В этом классе определите фрейм вашего AccessoryView в методе layoutSubviews.

- (void)layoutSubviews {
    [super layoutSubviews];
    self.accessoryView.frame = CGRectMake(0, 0, 20, 20);
}

В вашем контроллере представления скажите таблице, чтобы использовать этот класс в качестве ячейки.Кроме того, вы должны установить accessoryView для UIImageView, содержащего ваше изображение.

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[MyCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        cell.accessoryView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"check.png"]] autorelease];
    }
    // Configure the cell.
    return cell;
}

Когда пользователь нажимает на ячейку, вы можете просто изменить изображение accessoryView ячейки таблицы.

2 голосов
/ 15 июня 2011

Это один из стандартных типов аксессуаров для UITabelViewCell, хотя вы можете использовать изображение и определить свой собственный пользовательский вид аксессуаров , назначив your custom view (вы можетедобавьте ваше изображение здесь) в accessoryView свойство UITabelViewCell.

См. документацию fpr accessoryType

См. документацию для accessoryView

0 голосов
/ 15 июня 2011

Я не думаю, что это возможно с UITableViewCellAccessoryCheckmark.

  1. Вам нужно будет создать ячейку в

    tableView:cellForRowAtIndexPath:
    
  2. , добавить пользовательское подпредставление или вернуть пользовательскую ячейку

  3. Сделать так, чтобы флажок был или не отмечен в зависимости от состояния данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...