小编emp*_*emp的帖子

UINavigationItem#titleView对齐问题

我找到关于使用自定义字体使用UINavigationItem#titleView的一些信息.当我这样做时,导航栏中的字体垂直未对齐.

这个条目部分是为了记录黑客,也希望有人对这个问题有一个简洁的答案,因为我觉得我错过了一些简单的东西.

首先是hack,使用我自己的UILabel派生类:

@interface NavigationItemLabel : UILabel
- (void)setFrame:(CGRect)frame;
@end

@implementation NavigationItemLabel
- (void)setFrame:(CGRect)frame {
    // Called by UINavigationBar layoutSubviews.
    frame.origin.y -= self.font.descender;
}
@end
Run Code Online (Sandbox Code Playgroud)

出于某种原因,无论我使用什么字体,frame.origin.y == -11.有没有人对这是为什么有任何直觉?

添加我的字体的下行器(称为Gabriola的自定义字体)似乎有所帮助.如果没有这种黑客攻击,文本将与导航栏中心下降部分的底部对齐.

这不适用于所有字体.

有没有人有更好的解决方案?

谢谢.

iphone uinavigationbar uinavigationitem

5
推荐指数
1
解决办法
1065
查看次数

标签 统计

iphone ×1

uinavigationbar ×1

uinavigationitem ×1