Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Can';不要改变按钮的外观_Ios_Objective C_Ipad_Uibutton - Fatal编程技术网

Ios Can';不要改变按钮的外观

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

我正在尝试更改应用程序中所有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];
这可能会有帮助

[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];你的代码没问题!尝试找出另一个问题或给出更多代码,但要求是在整个应用程序中更改按钮的外观,而不是在一个特定视图中。所以代码必须是通用的