我知道如何自定义UIBarButtonItem
使用-setBackgroundImage: forState: barMetrics:
,但我想使用不同的图像UIBarButtonItemStyleDone
和UIBarButtonItemStylePlain
.
有没有办法使用UIAppearance
协议来实现这一目标?或者每次我想要一个"完成"样式按钮时我是否必须设置图像?
(我试着搞乱如下代码:
[[UIBarButtonItem appearance] setBackgroundImage:image forState:UIControlStateNormal barMetrics:UIBarButtonItemStyleDone];
但这只是用"完成"图像设置每个条形按钮.)
谢谢!
使用类代理自定义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都使用自定义背景进行初始化
当"编辑"按钮被"完成"按钮替换时,它正确地没有自定义背景.
类似的问题询问如何自定义"完成"按钮.我担心为什么会发生UIBarItem对象,这些对象不是从UIButton继承的,并且想知道如何纠正它.
我怀疑代理继承和支持的属性,但我不知道如何纠正它.有什么建议?