相关疑难解决方法(0)

使用UIAppearance分别自定义UIBarButtonItem"Done"样式和"Plain"样式

我知道如何自定义UIBarButtonItem使用-setBackgroundImage: forState: barMetrics:,但我想使用不同的图像UIBarButtonItemStyleDoneUIBarButtonItemStylePlain.

有没有办法使用UIAppearance协议来实现这一目标?或者每次我想要一个"完成"样式按钮时我是否必须设置图像?

(我试着搞乱如下代码:

[[UIBarButtonItem appearance] setBackgroundImage:image forState:UIControlStateNormal barMetrics:UIBarButtonItemStyleDone];

但这只是用"完成"图像设置每个条形按钮.)

谢谢!

iphone customization uibarbuttonitem ios uiappearance

15
推荐指数
2
解决办法
8780
查看次数

为什么 - [[UIButton appearance] setBackgroundImage]影响UIBarItem对象的初始外观,你如何纠正它?

使用类代理自定义UIButton的外观时,UIBarItems似乎最初采用为UIButton设置的自定义属性.

使用Core Data从默认的Master/Detail项目开始.在AppDelegate中自定义UIButton的外观并运行应用程序.单击编辑按钮,然后单击MasterViewController导航栏中的完成按钮,并观察自定义消失.

[AppDelegate application:didFinishLaunchingWithOptions]中的自定义外观代码:

UIImage *customBackground = [[UIImage imageNamed:@"yourcustomimage.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(5,5,5,5)];  
[[UIButton appearance] setBackgroundImage:customBackground forState:UIControlStateNormal];  
Run Code Online (Sandbox Code Playgroud)

所有UIBarButtonItems都使用自定义背景进行初始化.
所有UIBarButtonItems都使用自定义背景进行初始化

当
当"编辑"按钮被"完成"按钮替换时,它正确地没有自定义背景.

类似的问题询问如何自定义"完成"按钮.我担心为什么会发生UIBarItem对象,这些对象不是从UIButton继承的,并且想知道如何纠正它.

我怀疑代理继承和支持的属性,但我不知道如何纠正它.有什么建议?

appearance uikit ios5

7
推荐指数
1
解决办法
2542
查看次数