1

我正在尝试更改我的应用程序中所有 UIButtons 的外观。这是我用来执行此操作的代码,当它被调用时,什么也没有发生。我知道该方法本身被调用,因为 NSLog 正在打印出文件名字符串。所以一定有别的我做错了。

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

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

3 回答 3

0

可能会有所帮助

[btnClear setBackgroundImage:[UIImage imageNamed:@"blue_button.png"]
                            forState:UIControlStateNormal];
于 2013-05-30T10:28:02.620 回答
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];
于 2013-05-30T10:39:12.487 回答
0

您的原始代码对我来说看起来不错,只要它可以找到图像文件。您可能要检查customBackground不为空。

我自己使用与您的完全相同的代码成功完成了此操作,并从应用程序委托中调用

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

如果您还没有这样做,我会尝试将您的代码放入此方法中。这将在整个应用程序中应用自定义背景。

于 2013-05-30T10:46:01.040 回答