我有一个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 举报,一经查实,本站将立刻删除。