我添加了UIView
的单选按钮,并使用以下内容添加到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 :(得分:2)
KVC代码的标准语法
[alertHours setValue:viewHours forKey:@"accessoryView"];
是
alertHours.accessoryView = viewHours;
除非明确涉及KVC,否则这是优选的。
它将viewHours
分配给主视图的accessoryView
因此,按钮是accessoryView == viewHours
的子视图,而不是self.view
。
你也可以写
UIButton *btnSender = (UIButton*)[alertHours.accessoryView viewWithTag:i];
答案 1 :(得分:1)
尝试
UIButton *btnSender = (UIButton*)[viewHours viewWithTag:i];
由于按钮位于viewHours视图中。
答案 2 :(得分:0)
添加到UIView并且视图的单选按钮被添加到alertview,因此可以尝试这个,
UIButton *btnSender = (UIButton*)[alertObject.subviews viewWithTag:i];