我在我的UILabel
栏中添加了一个自定义UINavigation
,如下所示:
UILabel *navTitle = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 200, 44)];
navTitle.backgroundColor = [UIColor clearColor];
navTitle.text = @"TEST";
navTitle.font = [UIFont fontWithName:@"GothamNarrowBook-Regular" size:28];
navTitle.textColor = [UIColor whiteColor];
navTitle.textAlignment = UITextAlignmentCenter;
self.navigationItem.titleView = navTitle;
但是当它出现在模拟器上时,它对齐得太高了:
调整框架我没有运气。有什么想法吗?
答案 0 :(得分:2)
您可以将标签放在另一个视图中,然后将另一个视图作为titleView插入。这将允许某种灵活性。
您也可以尝试调整框架的位置:
UILabel *navTitle = [[UILabel alloc] initWithFrame:CGRectMake(0, >>>10<<<, 200, 44)];
但请记住,NavigationBar在横向模式下具有不同的高度,因此您必须相应地使用autoresizingMask。
答案 1 :(得分:0)
你能设置self.nagivationItem.titleView的框架并将其推下来吗?
CGRect initialFrame = self.navigationItem.titleView;
self.navigationItem.titleView = CGRectMake(initialFrame.origin.x, initialFrame.origin.y+10, initialFrame.size.width, initialFrame.size.height);
要检查的另一件事,确保你的UINavigationBar实际上是44px高,如果你的UILabel高度相同,那么我认为默认行为是垂直居中,这将使它落在正确的位置。
答案 2 :(得分:0)
我认为增加UILAbel的高度不起作用。 或Y位置。 我认为你在创建框架后尝试调整框架,例如除了在initWithFrame中。
也许尝试使用图片代替?嗯,这是一个想法;)