Jos*_*ane 2 iphone objective-c uinavigationbar uitoolbar uibarbuttonitem
我试图在我的应用程序中偏移UIBarButtonItems,我需要它们稍微偏移,因为我用于导航栏的图像所以它们都正确排列.我设法做到这样:
[[UINavigationBar appearance] setTitleVerticalPositionAdjustment:-3 forBarMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackgroundVerticalPositionAdjustment:-3 forBarMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonBackgroundVerticalPositionAdjustment:-3 forBarMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)
我有两个疑问.
这会停止按钮具有任何突出显示的状态,它们可以正常工作,但不会明显地按下按钮.无论如何围绕这个?
更重要的是,这可以很好地在我的导航栏中向上推动我的按钮,但是它会将它们推到我的工具栏以及屏幕底部我需要相反的位置,实际上将它们向下推了一下.我怎么处理这个?
任何帮助总是赞赏,谢谢.
Jos*_*ane 14
事实证明我找到了解决方案!您可以使用以下内容根据对象的视图调整这些外观属性:
appearanceWhenContainedIn:
Run Code Online (Sandbox Code Playgroud)
而不是标准
appearance
Run Code Online (Sandbox Code Playgroud)
所以我已经实现了我的需求,根据按钮是否在导航栏或工具栏中上下调整:
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setBackgroundVerticalPositionAdjustment:-3 forBarMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil] setBackButtonBackgroundVerticalPositionAdjustment:-3 forBarMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearanceWhenContainedIn:[UIToolbar class], nil] setBackgroundVerticalPositionAdjustment:3 forBarMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearanceWhenContainedIn:[UIToolbar class], nil] setBackButtonBackgroundVerticalPositionAdjustment:3 forBarMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8715 次 |
| 最近记录: |