大佬教程收集整理的这篇文章主要介绍了ios – 每次显示控制器原点时都会发生变化,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
这有时是这样的:
我想在圆圈中显示一个视图控制器,但是,几乎每次呈现圆圈中的视图控制器(ResultViewController)时,它的位置都不同,尽管它的属性根本不会改变.这是我的代码:
func openCircle(withCenter center: CGPoint,datasource: ([Items],Int,String)){ self.addCircle(withCenter: center,datasource: datasourcE) } func addCircle(withCenter circleCenter: CGPoint,String)) { let longerSide = fmax(view.frame.size.height,view.frame.size.width) let shorterSide = fmin(view.frame.size.height,view.frame.size.width) let circleRadius = longerSide / 2 var resultViewOrigin = CGPoint() var resultViewSize = CGSize() if UIDevice.current.userInterfaceI@L_600_6@m == .pad { let rectWidth = shorterSide / 2 let rectHeight = sqrt(abs(circleRadius * circleRadius - rectWidth * rectWidth)) + view.frame.size.height - circleCenter.y resultViewSize = CGSize(width: rectWidth,height: rectHeight) resultViewOrigin = CGPoint(x: (view.frame.size.width - rectWidth) / 2,y: view.frame.size.height - rectHeight) } else { resultViewOrigin = CGPoint(x: 0.0,y: 0.0) resultViewSize = CGSize(width: view.frame.size.width,height: view.frame.size.height) } let resultViewController = UIStoryboard(name: "Main",bundle: Bundle.main).instantiateViewController(withIdentifier: "ResultVC") as! ResultViewController resultViewController.transitioningDelegate = self resultViewController.modalPresentationStyle = .custom resultViewController.datasource = datasource resultViewController.view.frame = CGRect(origin: resultViewOrigin,size: resultViewSizE) transition.circle = UIView() transition.starTingPoint = circleCenter transition.radius = circleRadius transition.circle.frame = circleFrame(radius: transition.radius,center: transition.starTingPoint) present(resultViewController,animated: truE) }
它在iPhone上运行良好,而不是在iPad上运行,问题是什么?
以上是大佬教程为你收集整理的ios – 每次显示控制器原点时都会发生变化全部内容,希望文章能够帮你解决ios – 每次显示控制器原点时都会发生变化所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。