如何从alertview获取按钮?

时间:2015-11-18 11:17:52

标签: ios objective-c uialertview

我添加了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];

但同样,无法获得按钮。

我如何获得所有按钮操作方法?

3 个答案:

答案 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];