Ios Can';不要改变按钮的外观
我正在尝试更改应用程序中所有UIButton的外观。这是我用来做这件事的代码,当它被调用时,什么也没有发生。我知道该方法本身正在被调用,因为NSLog正在打印文件名字符串。所以我肯定还有别的地方做错了Ios Can';不要改变按钮的外观,ios,objective-c,ipad,uibutton,Ios,Objective C,Ipad,Uibutton,我正在尝试更改应用程序中所有UIButton的外观。这是我用来做这件事的代码,当它被调用时,什么也没有发生。我知道该方法本身正在被调用,因为NSLog正在打印文件名字符串。所以我肯定还有别的地方做错了 NSString *filename = @"image.png"; NSLog(filename); UIImage *customBackground = [[UIImage imageNamed:filename] resizableImageWithCapInsets:UIEdgeIns
NSString *filename = @"image.png";
NSLog(filename);
UIImage *customBackground = [[UIImage imageNamed:filename] resizableImageWithCapInsets:UIEdgeInsetsMake(0,0,0,0)];
[[UIButton appearance] setBackgroundImage:customBackground forState:UIControlStateNormal];
这可能会有帮助
[btnClear setBackgroundImage:[UIImage imageNamed:@"blue_button.png"]
forState:UIControlStateNormal];
您可以更改按钮或图像,从您可以使用的全视图:-
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];
你的原始代码看起来不错,只要它能找到图像文件。您可能需要检查
customBackground
是否不为空
我自己已经成功地完成了这项工作,代码与您的完全相同,并且在
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
我会尝试将代码放在这个方法中,如果你还没有这样做的话。这将在整个应用程序中应用自定义背景。因此,如果我对一个特定按钮执行此操作,则此操作有效,但是否有一种方法可以同时对所有按钮执行此操作?这应该有帮助[[UIButton外观]setBackButtonBackgroundImage:yourImage for状态:UIControlStateNormal barMetrics:UIBarMetricsDefault];你的代码没问题!尝试找出另一个问题或给出更多代码,但要求是在整个应用程序中更改按钮的外观,而不是在一个特定视图中。所以代码必须是通用的