在iOS 7上,有没有办法改变返回按钮箭头的垂直对齐方式?我只能改变标题的垂直对齐方式,UIBarButtonItem的外观中也没有任何提示可以改变箭头的垂直对齐方式。
请参考下面的示例:
请参考下面的示例:
我认为达到目标的最佳方式是将UINavigationBar
的backIndicatorImage
设置为带有周围空间的箭头图像。您可以对图像进行遮罩处理,以便文本能够流入图像的部分。
UINavigationBar *navigationBar = ...;
navigationBar.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Activity" style:UIBarButtonItemStylePlain target:nil action:nil];
navigationBar.backIndicatorImage = [UIImage imageNamed:@"arrow-image"];
navigationBar.backIndicatorTransitionMaskImage = [UIImage imageNamed:@"arrow-image-mask"];
AppCoda在iOS7中写了一篇关于自定义UINavigationBar
的好文章。值得一读:
http://www.appcoda.com/customize-navigation-status-bar-ios-7/
如文档所述, 你需要设置两个属性才能使其正常运行: https://developer.apple.com/library/ios/documentation/uikit/reference/uinavigationbar_class/Reference/UINavigationBar.html#//apple_ref/occ/instp/UINavigationBar/backIndicatorImage
[button setContentHorizontalAlignment:]
和[button setContentVerticalAlignment:]
可以实现你想要的效果。如果你直接访问titleLabel
属性来设置对齐方式,那就会出现问题。 - topLayoutGuide