私はこれがiOS10とすべてで新しいことを知っていますが、単純なmsのmessageappextensionアプリを作成しようとしています。そして私が見つけたすべてのチュートリアルは、ストーリーボードを介してラベル、ボタンなどを追加しています。プログラムでSwiftのメッセージアプリケーションにラベルを追加しますか?
私はautlayoutが嫌いですし、ストーリーボードを使用しないので、プログラムで要素を追加する方法を見つける必要があります。これは、アイブ氏が試したものです:
//main label
pointsLabel.frame = CGRect(x: 0, y: 0, width: view.bounds.width * 0.5, height: view.bounds.height * 0.1)
pointsLabel.center = CGPoint(x: view.bounds.width * 0.5, y: view.bounds.width * 0.7)
pointsLabel.textColor = UIColor.red
pointsLabel.textAlignment = .center
pointsLabel.text = "Testing 123"
pointsLabel.font = UIFont(name: "Helvetica", size: screenSize.height * (30/screenSize.height))
view.addSubview(pointsLabel)
これは、Idが正常にラベルを作る方法です、そしてMSMessagesAppViewControllerは、このような完全なビューであるとき、これは動作します:
しかしときに、このようにもセンターの配置はview.boundsに基づいていますが、ここでビューが縮小されると、ラベルは表示されずに表示されます。
アイブ氏は、これはサイズの変更が、しかしここでもセンターをリセットすると、何も行わないときに呼び出されることがわかった。ただ、異なる高さの間で前後にスイッチバック以外
override func willTransition(to presentationStyle: MSMessagesAppPresentationStyle) {
// Called before the extension transitions to a new presentation style.
// Use this method to prepare for the change in presentation style.
print(view.bounds.height)
pointsLabel.center = CGPoint(x: view.bounds.width * 0.5, y: view.bounds.width * 0.7)
}
を、ラベルを追加するための正しい方法は何ですかプログラム的に?