[swift4] UIViewのx, y座標や横幅・縦幅をカンタンに取得・設定するコード

UIViewのx, y座標や横幅・縦幅をカンタンに取得・設定する方法は以下の通り

 

UIViewExtension.swiftのようなswiftファイルを作成し、下記コードを追加

import UIKit

extension UIView {

 var top : CGFloat{
 get{
 return self.frame.origin.y
 }
 set{
 var frame = self.frame
 frame.origin.y = newValue
 self.frame = frame
 }
 }

 var bottom : CGFloat{
 get{
 return frame.origin.y + frame.size.height
 }
 set{
 var frame = self.frame
 frame.origin.y = newValue - self.frame.size.height
 self.frame = frame
 }
 }

 var right : CGFloat{
 get{
 return self.frame.origin.x + self.frame.size.width
 }
 set{
 var frame = self.frame
 frame.origin.x = newValue - self.frame.size.width
 self.frame = frame
 }
 }

 var left : CGFloat{
 get{
 return self.frame.origin.x
 }
 set{
 var frame = self.frame
 frame.origin.x = newValue
 self.frame = frame 
 }
 }
}

使い方

let label = UILabel()

//Labelの下のy座標を取得
let bottom = label.bottom

// labelを左から20pxの位置に配置
label.left = 20

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です