Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.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
Objective c 如何在不影响UIBarButtonItems的情况下设置UIButton的外观?_Objective C_Ios_Ios5_Appearance_Uiappearance - Fatal编程技术网

Objective c 如何在不影响UIBarButtonItems的情况下设置UIButton的外观?

Objective c 如何在不影响UIBarButtonItems的情况下设置UIButton的外观?,objective-c,ios,ios5,appearance,uiappearance,Objective C,Ios,Ios5,Appearance,Uiappearance,使用以下代码自定义常规UIButtons也会影响文本字段中的UIBarButtonItems和clear按钮 [[UIButton appearance] setBackgroundImage:greenButtonImage forState:UIControlStateNormal]; 我不想自定义后面的元素,只想自定义常规的圆形矩形按钮。我意识到使用appearanceWhenContainedIn:可以用于为UIBarButtonims和UITextField设置自定义外观,但我希望这

使用以下代码自定义常规UIButtons也会影响文本字段中的UIBarButtonItems和clear按钮

[[UIButton appearance] setBackgroundImage:greenButtonImage forState:UIControlStateNormal];
我不想自定义后面的元素,只想自定义常规的圆形矩形按钮。我意识到使用appearanceWhenContainedIn:可以用于为UIBarButtonims和UITextField设置自定义外观,但我希望这些按钮保持标准。子类化在这里不是一个选项,因为对于这样一个简单的任务不应该需要它


还有一个类似的问题,但它没有解决这个问题

我以前使用过的一种解决方案是将UINavigationBar中包含的UIButtons的“backgroundImage”属性置零:

[[UIButton appearanceWhenContainedIn:[UINavigationBar class], nil] setBackgroundImage:nil forState:UIControlStateNormal];

这应该允许您在其他情况下自定义UIButton,而无需触摸UINavigationBar中UIBarButtonItem内的按钮。

我能够通过专门将UIExtField设置为清晰的背景图像来解决此问题。这不是一个很好的解决方案。你是如何初始化你的UIBarButtonims的?是否将“customView”属性设置为UIButton对象?如果你能提供如何创建UIBarButtonItem的示例代码,那么我很确定我能提供帮助……我在应用程序中使用外观代理和条形按钮/UIButton进行了大量定制,但没有遇到这些问题。