微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – UINavigationItem titleView定位问题

我有一个iPad应用程序,在其中一个屏幕上我有一个UIToolbar设置为viewController的navigationItem的titleView.我还有一个leftBartonItem和一个rightBarButtonItem.

当我以横向进入屏幕并旋转设备时,titleView保持居中.但是,如果我执行相反操作(以纵向输入并旋转设备),则titleView将向右移动.有没有什么办法解决这一问题?这是我的代码

UIView *titleView = [[UIView alloc] initWithFrame:CGRectMake(0,350,self.navigationController.navigationBar.frame.size.height)];
UIToolbar *titletoolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0,self.navigationController.navigationBar.frame.size.height)];
titletoolbar.items = @[commentButton,spacer2,downloadButton,spacer3,homeButton,spacer4,pagedisplayButton,spacer5,searchButton];
titletoolbar.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;
[titleView addSubview:titletoolbar];
self.navigationItem.titleView = titleView;

编辑:

self.navigationItem.titleView.frame.size在两种情况下都是相同的,更改的东西是origin.x

解决方法

如果您使用的是工具栏,请不要将titleView添加为subView.而是添加items数组.

UIToolbar *titletoolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0,self.navigationController.navigationBar.frame.size.height)];

UIView *titleView = [[UIView alloc] initWithFrame:CGRectMake(0,titletoolbar.frame.size.height)];

添加条形按钮项目作为titleViewBtn并使边框平整.

titletoolbar.items = @[commentButton,**titleViewBtn**,searchButton];
titletoolbar.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐