Я видел один вопрос/ответ с результатом, подобным тому, что я ищу, но обсуждаемый код был намного сложнее, чем сейчас.Признание UIButton из цикла
Я использую цикл for() для создания пучка кнопок из массива. Затем у меня есть действие, но я не могу распознать кнопку. Итак:
NSArray *numbers = [NSArray arrayWithOjbects:@"1", "2", "3", nil];
for (int i = 0; i < [numbers count]; i++) {
button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self action:@selector(recognize:) forControlEvents:UIControlEventTouchDown];
[button setTitle:[numbers objectAtIndex:i] forState:UIControlStateNormal];
button.frame = CGRectMake(x, y, w, l);
}
Тогда:
-(void) recognize:(id)sender {
NSLog (button.titleLabel.text);
}
Но, я только получить последний элемент массива (3) независимо от нажатой кнопки. Я думаю, что мне не хватает шага в (void) признать: (id) отправителя ... что я должен знать ... но он полностью ускользает от меня прямо сейчас.
/Влад
Вы добавляете их где-нибудь на свой взгляд? Для идентификации элементов существует свойство 'tag'. В конце цикла вы должны сделать что-то вроде '[self.view addSubview: button]' – DanSkeel
Да, с: [панель addSubview: button] чуть позже. Я забыл добавить раньше, потому что между ним и остальной частью кода были пересчеты для позиции. – Vlad