作者:季柔原 | 来源:互联网 | 2023-01-21 16:52
还有另外一个关于此的问题,但这与它无关,因为我认为这与iOS 11的测试版有关.
我有这两个UIButton
分组在一个内部UIView
.使用Interface Builder 将此UIView置于a中UIBarButtonItem
,并将整个内容设置为Left Bar Button Items
.
单击时,每个按钮都会显示由故事板触发的弹出窗口.
我正在使用Xcode 8在运行iOS 9的iPad 3上进行测试.这非常有效.
现在我决定在运行iOS 11 beta 7的iPad Pro 9.7上进行测试.我正在使用Xcode 9 beta 6.当我在iPad Pro上运行时,导航栏上的所有按钮都已经死了. t响应点击.现在我尝试使用相同的Xcode 9 beta 6并使用iOS 9在iPad 3上运行应用程序,然后再次完成所有工作.
我正在为iOS 9.1编译.
按钮甚至不突出显示以确认点击,就像在iOS 9上一样.
iOS 11 beta 7和条形按钮项有问题吗?
有任何想法吗?
1> andreylanade..:
我发现使用XCode 8构建的相同代码在ios10-11上运行良好,但是当我使用自定义视图使用XCode 9 UIBarButtonItem构建时,不响应点击.
看起来问题出现是因为从ios 11导航栏使用自动布局而不是处理帧.屏幕上的按钮看起来不错,但从技术上讲它们似乎是屏幕外的.
所以我的修复是将自动布局约束添加到我的自定义视图.
//my custom view init
let view = MyCustomView()
view.frame = CGRect(x: 0, y: 0, width: 44, height: 44)
let rightButtOnItem= UIBarButtonItem(customView: view)
//constraints
let widthCOnstraint= view.widthAnchor.constraint(equalToConstant: 44)
let heightCOnstraint= view.heightAnchor.constraint(equalToConstant: 44)
heightConstraint.isActive = true
widthConstraint.isActive = true
//add my view to nav bar
self.rightBarButtOnItem= rightButtonItem
在该自定义右键按钮成功获得点击后.
很好!谢谢!这是Apple永远无法修复的错误之一.这是我将来留给人们的一条消息,它将处理这个错误.