Swift1.2 Xcode6.4 iOS8 コードでAutoLayoutしようとするとSIGABRTエラー
現在、Xcode6.4でiOS8 iPhoneのアプリ開発を行っています。
StoryboardやXibは使用せず、すべてSwift1.2コードで書いています。
ファーストビューをAutoLayoutoで以下のようにしたいです。
「navigationBar」
「UILabel」
「UIImageView」
「UIImageView」
「UIImageView」
「UIImageView」
「UIImageView」
「UIImageView」
「UIImageView」
※「UILabel」から下はScrollViewにしたい
「UIImageView」はアスペクト比を維持したまま横幅いっぱいに表示させたい
しかし、UIImageViewにAutoLayoutを設定しようとするとエミュレータ実行時にアプリが落ちます。
ソースはこちらです
class AreaSelectViewController: UIViewController {
var myImageView: UIImageView!
var infoLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
self.title = "FirstView"
self.view.backgroundColor = UIColor.whiteColor()
self.initLabel()
self.initImage()
self.initAutolayout()
}
// ラベル生成
func initLabel(){
infoLabel = UILabel(frame: CGRectMake(displayWidth/2-150, 80, 300, 30))
infoLabel.text = "Labelテキスト"
infoLabel.textAlignment = NSTextAlignment.Center
infoLabel.textColor = btBlack
infoLabel.font = btFontS
infoLabel.setTranslatesAutoresizingMaskIntoConstraints(false)
self.view.addSubview(infoLabel)
}
// 画像生成
func initImage(){
myImageView = UIImageView(frame: CGRectMake(0,0,300,70))
myImageView.image = UIImage(named: "xxxxxx.png")
myImageView.setTranslatesAutoresizingMaskIntoConstraints(false)
self.view.addSubview(myImageView)
}
// Autolayout
func initAutolayout(){
//myImageView
self.myImageView.addConstraints([
NSLayoutConstraint(
item: self.myImageView,
attribute: NSLayoutAttribute.Top,
relatedBy: NSLayoutRelation.Equal,
toItem: self.view,
attribute: NSLayoutAttribute.Baseline,
multiplier: 1182/202,
constant: 120
)
])
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
ログには
terminating with uncaught exception of type NSException
と出ています。