我遇到autoResizing
时遇到问题。首先,我有一个强制进入横向模式的VC,并且这个子视图添加如下:
let upLeftArrow = UIImageView()
var height = CGFloat()
var width = CGFloat()
override func viewDidLoad() {
super.viewDidLoad()
self.height = self.view.frame.height
self.width = self.view.frame.width
upLeftArrow.image = UIImage(named: "upLeftArrow")
upLeftArrow.autoresizingMask = UIViewAutoresizing.FlexibleBottomMargin | UIViewAutoresizing.FlexibleTopMargin | UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleLeftMargin | UIViewAutoresizing.FlexibleRightMargin
upLeftArrow.contentMode = .ScaleAspectFit
upLeftArrow.frame = CGRectMake(0.2 * width, 0.17 * height, height * 0.0577 * 0.935, height * 0.0577)
self.view.addSubview(upLeftArrow)
}
但是,如果我在手机处于纵向模式时打开此视图,然后使用下面的功能更改子视图的框架,则我的子视图会将其更改为纵向框架。这对我来说没有意义,因为我已经声明了宽度和高度变量并在我的viewDidLoad
函数中使用它们。
我如何更改框架:
func changeFrame(){
self.upLeftArrow.frame = CGRectMake(0.2 * width, 0.17 * height, height * 0.0577 * 0.935, height * 0.0577)
}
请帮助我理解为什么会发生这种情况,我们将不胜感激。