##概要
SwiftでUIViewのframe操作を楽にするextension
http://www.muratayusuke.com/2015/03/21/swift_uiview_extension/
上記サイトを参考に、UIView
に center
というプロパティを仕込もうとした
extension UIView
{
var center: CGPoint {
get { return CGPoint(x: midX, y: midY) }
set { self.frame = CGRect(x: newValue.x - w / 2, y: newValue.y - h / 2, width: w, height: h) }
}
}
しかしエラーがでてコンパイルできない
さてどうしよう
Getter for 'center' with Objective-C selector 'center' conflicts with previous declaration with the same Objective-C selector
##解決策
@nonobjc
を挿入するだけでおk
extension UIView
{
@nonobjc
var center: CGPoint {
get { return CGPoint(x: midX, y: midY) }
set { self.frame = CGRect(x: newValue.x - w / 2, y: newValue.y - h / 2, width: w, height: h) }
}
}
##備考
@objc
は情報でてくるけど @nonobjc
はないっぽい気がしたので
ていうかどっちもよくわかんないよね(´・ω・`)
Xcode7
じゃないとダメそうなことが参考ページに書いてある(と思う)ので気をつけましょう