私のUIView
は、iPhoneの画面サイズによって異なる位置に表示されるのはなぜですか?私はそれがautoresizingMask
のためだと思いますが、autoresizingMask
を適用した後、どのようにビューのフレームを得ることができますか、いくつかの普遍的なロジックを作成するには?またはこれを処理するベストプラクティスは何ですか?なぜ私のUIViewは異なるiPhone上で異なる位置にありますか?
private func setup() {
positionView = CircularProjectPositionControl(frame: self.bounds)
positionView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
positionView.outerCircleWidth = outerCircleWidth
assetsView = CircularProjectAssetsControl(frame: self.bounds)
assetsView.autoresizingMask = [.FlexibleWidth, .FlexibleHeight]
assetsView.backgroundColor = UIColor.clearColor()
assetsView.imageWidth = outerCircleWidth
let size = CGSize(width:40, height:40)
let width = floor(CGRectGetMidX(self.bounds) - size.width/2.0)
let height = floor(CGRectGetMidY(self.bounds) - size.width/2.0)
collaboratorView = AvatarView(frame: CGRect(x: width, y: height, width: size.width, height: size.height))
collaboratorView.autoresizingMask = [.FlexibleBottomMargin, .FlexibleLeftMargin, .FlexibleRightMargin]
self.addSubview(assetsView)
self.addSubview(positionView)
self.addSubview(collaboratorView)
}
iPhone 5:あなたが唯一のself.viewとの相対位置を設定するよう
は、なぜあなたはプログラムでこれをやっているの?ストーリーボードの自動レイアウト制約を使用する方がはるかに簡単です –
@ matt.writes.codeここではストーリーボードを使用できません –