2015-11-18 3 views
0

У меня есть переключатель, который добавил к UIView и виду добавлен в alertview с помощью:Как получить кнопку от alertview?

[alertHours setValue:viewHours forKey:@"accessoryView"]; 

Кнопки наборы с их tag так что теперь я хочу, чтобы все кнопки в случае кнопки действий, я использовал этот код для получения все кнопки :

for (int i = 111 ; i <= 117 ; i++){ 
    UIButton *btnSender = (UIButton*)[self.view viewWithTag:i]; 
    [btnSender setImage:[UIImage imageNamed:@"Radio"] forState:UIControlStateNormal]; 
} 

но кнопка не может получить с помощью этого, я также использовал это:

UIButton *btnSender = (UIButton*)[alertObject viewWithTag:i]; 

но такой же, не могу получить кнопку.

Как я могу получить все кнопки в действии?

+0

вид часов ваше мнение или ваша кнопка братан .. –

+0

добавлены кнопки для viewHours и viewHours добавлены в alertview. – bhadresh

+0

видны ваши UIView правильно –

ответ

1

Попробуйте

UIButton *btnSender = (UIButton*)[viewHours viewWithTag:i]; 

Поскольку кнопки в окне viewHours.

+0

'self.view' ссылается на основной вид контроллера контроллера. Однако, поскольку ваши кнопки находятся в представлении viewHours, вы должны указать его как вид, который вы ищете. Пожалуйста, отметьте ответ как принятый, если он сработает. –

0
кнопку

радио, которое добавляется к UIView и вид добавляется alertview, поэтому можно попробовать это,

UIButton *btnSender = (UIButton*)[alertObject.subviews viewWithTag:i]; 
+0

alertObject.subviews пусто – bhadresh

2

Стандартный синтаксис кода КВЦ

[alertHours setValue:viewHours forKey:@"accessoryView"]; 

является

alertHours.accessoryView = viewHours; 

, что предпочтительнее, если KVC явно не задействован.

Он присваивает viewHoursaccessoryView основного вида.
Таким образом, кнопки являются дополнительными элементами аксессуараView viewHours, а не self.view.

Вы также можете написать

UIButton *btnSender = (UIButton*)[alertHours.accessoryView viewWithTag:i]; 
+0

Thx @vadian, чем почему alertObject.subviews ничтожно? – bhadresh

+0

Поскольку «аксессуар» является специальным представлением, а не частью массива 'subviews' – vadian

Смежные вопросы