UITableView с вложенными кнопками сетки 3х3 - PullRequest
0 голосов
/ 03 декабря 2010

Я действительно изо всех сил пытаюсь заставить это работать эффективно. В основном мне нужна сетка прокрутки кнопок 3х3. Мне нужно знать, какая из этих кнопок нажата, и поэтому я делаю следующее при создании новой ячейки

    button1 = [UIButton buttonWithType:UIButtonTypeCustom];
    button1.frame = CGRectMake(20, 20, 80, 80);
    button1.opaque = NO;
    button1.showsTouchWhenHighlighted = NO;
    [button1 addTarget:self action:@selector(buttonClick:)
      forControlEvents:UIControlEventTouchUpInside];
    button1.tag = 0;
    [foodCell.contentView addSubview:button1];


    button2 = [UIButton buttonWithType:UIButtonTypeCustom];
    button2.frame = CGRectMake(120, 20, 80, 80);
    button2.opaque = NO;
    button2.showsTouchWhenHighlighted = NO;
    [button2 addTarget:self action:@selector(buttonClick:)
      forControlEvents:UIControlEventTouchUpInside];    
    button2.tag = 1;
    [foodCell.contentView addSubview:button2];


    button3 = [UIButton buttonWithType:UIButtonTypeCustom];
    button3.frame = CGRectMake(220, 20, 80, 80);
    button3.opaque = NO;
    button3.showsTouchWhenHighlighted = NO;
    [button3 addTarget:self action:@selector(buttonClick:)
      forControlEvents:UIControlEventTouchUpInside];    
    button3.tag = 2;
    [foodCell.contentView addSubview:button3];`

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

Большое спасибо

Жюль

1 Ответ

0 голосов
/ 03 декабря 2010

Разве вы не можете просто получить экземпляр нажатой кнопки из sender вашего действия buttonClick:, а затем добавить вид, напоминающий вашу галочку, над этой кнопкой?

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