所以我想添加一个宽度为50的按钮,并将其放在视图控制器的下部中心。
我是这样做的。
purchaseButton.layer.cornerRadius = 14
purchaseButton.frame = CGRect(x: 0, y: 0, width: self.view.frame.width - 50, height: 50)
purchaseButton.autoresizingMask = [.flexibleLeftMargin, .flexibleBottomMargin]
purchaseButton.contentEdgeInsets = UIEdgeInsets(top: 14, left: 0, bottom: 14, right: 0)
let xPosition: CGFloat = self.view.frame.width / 2.0
let yPosition: CGFloat = self.view.frame.height / 1.25
purchaseButton.center = CGPoint(x: xPosition, y: yPosition)
这在所有的iPhone设备和尺寸上都能完美地工作。然而,对于iPad来说,视图是一个模态,我认为frame.width是整个iPad屏幕的大小,而不仅仅是较小的视图。这导致按钮在iPad设备上太低和太宽。有什么方法可以让我获得模态弹出式视图控制器的宽度和高度,而不是整个设备的框架,并使用它来设置按钮的大小?
我发现,我需要调用viewWillAppear中的代码,而不是viewDidLoad中的代码,以获得视图控制器的正确尺寸。这样做就解决了这个问题!