IBAction按钮改变颜色?

Posted

技术标签:

【中文标题】IBAction按钮改变颜色?【英文标题】:IBAction button change color? 【发布时间】:2011-09-14 11:04:26 【问题描述】:

我在界面生成器中创建了一个按钮并将其类型设置为自定义。我想在视图加载时根据按钮的标签更改按钮的背景颜色。我怎样才能做到这一点?

【问题讨论】:

【参考方案1】:

按钮添加到 Xib,标签设置为 1。

查看标题:

@property (nonatomic, retain) IBOutlet UIButton *myButton;

在界面生成器中,将 myButton 绑定到按钮。

然后在viewDidLoad中以编程方式,根据标签值有条件地设置:

- (void)viewDidLoad

    [super viewDidLoad];

    if ([myButton tag] == 1)
    
        [myButton setBackgroundColor:[UIColor blueColor]];
    
    else
    
        [myButton setBackgroundColor:[UIColor greenColor]];
    

【讨论】:

谢谢,这行得通。我还有另一个问题 - 如果我有 20 个按钮并且我想对它们应用相同的 sn-p 代码,我该怎么办? IBOutlet 只允许我连接一个对象。我可以创建 20 个不同的 IBOutlets,但可能有更简单的方法来做到这一点? IBOutlet 只允许您访问作为 XIB 的一部分创建的对象。您的选择是(1)在 XIB 中创建 20 个按钮,有插座,将每个按钮添加到 NSMutableArray,然后在代码中迭代和分配......或者,(2)完全以编程方式创建它们,将它们放在一个数组中并有一个块迭代并设置颜色。 HTH

以上是关于IBAction按钮改变颜色?的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式调用 ibaction 方法不会改变按钮的背景?

UIbutton不改变IBAction内的背景

不改变按钮的文本颜色

点击后UIbutton改变颜色[重复]

我可以通过 IBAction 更改 CAGradientLayer() 颜色吗?

滚动视图中的 UIViews 按钮未触发 IBAction