无法改变UIButton外观

时间:2013-05-30 10:20:14

标签: ios objective-c ipad uibutton

我正在尝试更改应用中所有UIButton的外观。这是我正在使用的代码,当它被调用时,根本没有任何事情发生。我知道方法本身正在被调用,因为NSLog正在打印出文件名字符串。所以一定有别的我做错了。

NSString *filename = @"image.png";
NSLog(filename);

UIImage *customBackground = [[UIImage imageNamed:filename] resizableImageWithCapInsets:UIEdgeInsetsMake(0,0,0,0)];
[[UIButton appearance] setBackgroundImage:customBackground forState:UIControlStateNormal];

3 个答案:

答案 0 :(得分:0)

可能会有所帮助

[btnClear setBackgroundImage:[UIImage imageNamed:@"blue_button.png"]
                            forState:UIControlStateNormal];

答案 1 :(得分:0)

您可以通过以下方式更改按钮颜色或图像: -

 for (UIView *view in self.view.subviews)
        {
            if([view isKindOfClass:[UIButton class]])
            {
                UIButton *btn = (UIButton*)view;

              [btn setBackgroundImage:[UIImage imageNamed:@"blue_button.png"]
                            forState:UIControlStateNormal];
            }
        }

其他

 [[UIButton appearance] setBackgroundImage:[UIImage imageNamed:@"blue_button.png"]
                                forState:UIControlStateNormal];

答案 2 :(得分:0)

您的原始代码对我来说很好,只要它可以找到图像文件。您可能想要检查customBackground是否为空。

我已成功使用与您完全相同的代码完成此操作,并从

中的应用代理调用
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

如果不是你已经在那里做的话,我会尝试将你的代码放在这个方法中。这将在整个应用中应用自定义背景。