3

キーボード拡張機能で自動レイアウトを機能させようとしています。最初はプログラムでボタンを作成すると思っていましたが、要件と複数の画面サイズのため、xib を使用する方がよいことに気付きました。

私が行った現在の構成については、以下のスクリーンショットを参照してください。ボタン 2: ここに画像の説明を入力

ボタン 1 とアプリの問題: ここに画像の説明を入力

すべての制約構成は次のようになります。 ここに画像の説明を入力

ここでやろうとしているのは、ボタンが画面の幅いっぱいになるようにすることだけです。画面のサイズと向きに合わせて幅を広げることができます。どういうわけか、デバイスの幅を理解できていない気がします。そのために何かを指定する必要がありますか?

ありがとう

4

3 に答える 3

5

次のようになるように、 viewDidLoadでUIView のサイズを設定してください。

self.mainView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height);

私は同じ問題を抱えていましたが、これでうまくいきました。あなたの制約は問題ありません。

于 2014-10-01T07:11:34.720 に答える
1

2 つのボタン間の距離に制約はありません。各ボタンのボタン間に制約を追加してみてください。

于 2014-09-29T23:21:56.787 に答える
1

ベン・フローレスの答えも私のためにトリックをしましたが、コードをviewDidLayoutSubviews. そうしないと、キーボードがクラッシュして表示されなくなります。スウィフト 3 バージョン:

override func viewDidLayoutSubviews() {
    super.viewDidLayoutSubviews()
    let frameSize = self.view.frame.size
    self.mainView.frame = CGRect(x: 0, y: 0, width: frameSize.width, height: frameSize.height)
}
于 2016-11-02T11:43:34.973 に答える