在我的应用中,我有一个tableViewController
,其中我以编程方式添加了UINavigationController
和BackButton
:
UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:self];
[self.view addSubview:navController.view];
self.title =@"A";
UIBarButtonItem *btn = [[UIBarButtonItem alloc] initWithTitle:@"back" style:UIBarButtonItemStyleBordered target:self action:@selector(backPressed:)];
self.navigationItem.leftBarButtonItem = btw;
但输出与默认导航栏和默认后退按钮不同。
我的意思是默认导航栏和默认后退按钮:
这就是我的自定义代码的样子:
如何使用代码获得相同的输出?
答案 0 :(得分:0)
尝试使用以下代码设置navigationBar框架:
self.navigationController.navigationBar = CGRectMake(self.navigationController.navigationBar.frame.origin.x, self.navigationController.navigationBar.frame.origin.y, self.navigationController.navigationBar.frame.size.width, 64);
并使用此方法:
-(UIBarPosition)positionForBar:(id<UIBarPositioning>)bar
{
return UIBarPositionTopAttached;
}
不要忘记设置导航栏的代理
self.navigationController.navigationBar.delegate = self;