更改 UIView 按钮操作

Posted

技术标签:

【中文标题】更改 UIView 按钮操作【英文标题】:Change UIView Button Action 【发布时间】:2012-11-02 17:40:37 【问题描述】:

我有一个视图,上面有三个按钮。

当其中任何一个被按下时,它会调用一个带有另一个按钮的自定义 UIView。

我想做的是将自定义视图按钮更改为不同的操作,具体取决于调用新视图的按钮。

希望这是有道理的。

谢谢

【问题讨论】:

【参考方案1】:

我建议你为自定义视图动态创建按钮:

CGRect buttonFrame = CGRectMake( 10, 280, 100, 30 );
UIButton *button = [[UIButton alloc] initWithFrame: buttonFrame];
[button setTitle: @"My Button" forState: UIControlStateNormal];
[self.view addSubview: button];
if(//clicked button 1)
 
     [button addTarget: self 
           action: @selector(action1:) 
 forControlEvents: UIControlEventTouchDown];
 
 else if(//clicked button 2)
 
     [button addTarget: self 
           action: @selector(action2:) 
 forControlEvents: UIControlEventTouchDown];
 
else
 
     [button addTarget: self 
           action: @selector(action3:) 
 forControlEvents: UIControlEventTouchDown];
 

【讨论】:

这似乎是正确的,感谢您的帮助,但我怎么知道哪个按钮称为自定义视图? 在自定义视图类中放一个整数,调用自定义视图时根据点击的按钮设置整数值为1或2或3【参考方案2】:

我相信你可以做这样的事情来为按钮动态添加动作:

UIButton *button = [UIButton alloc] init]
[button addTarget:self action: @selector(pressButton:) forControlEvents:UIControlEventTouchUpInside];

希望有帮助!

【讨论】:

以上是关于更改 UIView 按钮操作的主要内容,如果未能解决你的问题,请参考以下文章

通过 Interface Builder 更改 UIView 属性

更改其包含 UIView 的 UIButton

如何在tableview标题中更改uiview的高度

Swift - 想要在单击集合视图单元格内的按钮时进行更改

更改 UIView backgrundColor 重置圆角

更改自定义 UIView 上的选项卡