iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了启用了用户交互的IOS 11导航项无法正常工作大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有导航项目有一个视图,其中包含两个标签我已经为导航元素内的视图添加了userInteractionEnabled(IBoutleted as navigationView)

navigationView.isUserInteractionEnabled = true

maintitleClicked = UITapGestureRecognizer(target: self,action: #SELEctor(maintitleTapped))

self.navigationView.addGestureRecognizer(maintitleClicked)

这是在IOS 10中工作,但是当我在xcode 9中运行相同的代码时ios 11用户界面搞砸了并且手势无法识别

启用了用户交互的IOS 11导航项无法正常工作

IOS 10版

启用了用户交互的IOS 11导航项无法正常工作

IOS 11版

我应该改变什么才能使它适用于ios 11

谢谢您的帮助

解决方法

@H_450_30@ 我通过添加以下代码解决了它

if #available(iOS 11.0,*) {
        self.navigationController?.navigationBar.prefersLargetitles = false
        self.navigationItem.largetitleDisplaymode = .automatic
        var width = navigationView.sizeThatFits(CGSize(width: CGFloat.greatestFiniteMagnitude,height: CGFloat.greatestFiniteMagnitudE)).width - 15.0
        let height = navigationView.sizeThatFits(CGSize(width: CGFloat.greatestFiniteMagnitude,height: CGFloat.greatestFiniteMagnitudE)).height

        let screenSize: CGRect = UIScreen.main.bounds
        let windowWidth = screenSize.width
        width = windowWidth * 0.55

        let widthConsTraint = navigationView.widthAnchor.consTraint(equalToConstant: width)
        let heightConsTraint = navigationView.heightAnchor.consTraint(equalToConstant: height)

        heightConsTraint.isActive = true
        widthConsTraint.isActive = true
    }

使高度和宽度约束激活是另一个问题给出的答案我目前没有链接它将在编辑中发布链接(目前我无法找到该问题)

大佬总结

以上是大佬教程为你收集整理的启用了用户交互的IOS 11导航项无法正常工作全部内容,希望文章能够帮你解决启用了用户交互的IOS 11导航项无法正常工作所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。