繁体   English   中英

iOS Swift导航栏按钮下移

[英]iOS Swift Navigation Bar Buttons Shift Down

我使用以下代码向视图添加带有按钮的导航栏:

let navBar = UINavigationBar(frame: CGRectMake(0, 20, screenWidth, 44))
var homeButton : UIBarButtonItem = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Bordered, target: controller, action: "closeView")
homeButton.image = UIImage(named: "back.png")
var item = UINavigationItem(title: title)
item.leftBarButtonItem = homeButton
if addPlus {
    var addButton : UIBarButtonItem = UIBarButtonItem(title: "", style: UIBarButtonItemStyle.Bordered, target: controller, action: "addItem")
    addButton.image = UIImage(named: "plus-25.png")
    item.rightBarButtonItems = [addButton]
}



var items = [
    item
]


navBar.setItems(items, animated: true)

controller.view.addSubview(navBar)

由于某种原因,当显示任何类型的UIAlertView时,栏上的按钮都会向下移动。

问题的屏幕截图

任何想法为什么会这样?

在情节提要中,带上导航栏,使其自动适应屏幕,不要尝试将其向下移动。

这不是最好的解决方案,但是由于此行为仅发生在我的自定义栏按钮项(而不是我使用界面生成器制作的栏按钮项)中,因此我只是使用“ self.navBarNavItem.setRightBarButtonItems([],动画:true)删除了它们”,然后再调用“ presentViewController”。

然后,如果警报的结果(即用户选择的结果)导致停留在当前视图上(而不是更改视图),则在执行该处理程序时将它们重新添加到视图中。

这样可以阻止按钮在错误位置上明显显示,然后在警报完成后将它们放回正确的位置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM