質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Q&A

解決済

1回答

5205閲覧

ボタンの位置がずれる

KoichiYoshimi

総合スコア9

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

0グッド

0クリップ

投稿2017/07/24 06:23

前任者が作成したプロジェクトを変更しています。

横並びの2個のボタン に1個ボタンを追加しました。

View as: を iPad Pro 9.7 に設定して
ボタンを 2個から3個変更して位置をずらしました。

View as : を iPhone6 に設定すると
この3個のボタンが ずれてしまいます。
(先に View as : を iPhone6 で配置調整してView as: を iPad Pro 9.7 に変更するとやはりずれてしまいます。 )

変更していない他のボタンは、位置は問題ありません。

どのように調整したらいいかお教えください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fuzzball

2017/07/24 06:45

Autolayoutを使用しているのでしょうか?
KoichiYoshimi

2017/07/24 07:24

Use Auto layout のチェックは入っています
guest

回答1

0

ベストアンサー

ボタンを置いているだけで制約(Constraint)を付けていないのではないでしょうか?

【追記】
大幅なレイアウト変更をするのでなければ、制約だけでなんとかなります。

一例として、画面サイズ(幅)が変わったときに、ボタンの幅は固定でボタン同士の間隔を可変にする、という方針で制約を付けてみたいと思います。(ボタン同士の制約についてのみ書きます)

両端のボタンは固定なので現状のままでもいいとして、他の3つのボタンに制約を付けていきます。

  • 3つのボタンのwidth/heightを固定にします。(例えば、左端ボタンと=にする。固定値でもかまいません)
  • Y座標(CenterY)を固定にします。(例えば、左端ボタンと=にする)
  • ボタン1のX座標を= Superview.CenterX * 0.5にします。
  • ボタン2のX座標を= Superview.CenterXにします。
  • ボタン3のX座標を= Superview.CenterX * 1.5にします。

以上で、画面の幅にかかわらず、ボタン1は左から1/4の位置、ボタン2は中央、ボタン3は右から1/4の位置に配置されるようになります。

投稿2017/07/24 07:28

編集2017/07/25 06:13
fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KoichiYoshimi

2017/07/25 00:22

制約(Constraint)の設定の仕方が今一わかりません。 View as: を iPad Pro 9.7 で、Constraint を色々設定して 3個のボタンが横並びで 綺麗に収まるのですが、 View as: を iPhone6に変更すると、 はみだした状態になります。 どのような制約(Constraint)を設定すればいいかお教えください。
fuzzball

2017/07/25 00:27

どのような制約を付けているか書いて下さい。
KoichiYoshimi

2017/07/25 05:03

元々両端にボタンが2個(左端、右端)あります。 その間に2個のボタンがあり、これを3個に変更しました。 現状の制約(Constraint)は下記です。 変更前は、 View as: を iPhone6 か  iPad Pro 9.7 に設定したときに 数字の値が変わったのですが、 現状は 変わりません。 これが要因かと予想しているのですが、 どうしたら View as: iPhone6 と  iPad Pro 9.7 で値が変更できるのかわかりません。 ご指摘、よろしくお願いいたします。 Pages.centerX= centerX Pages.top = top 左端ボタン.height = 1個目ボタン.height 左端ボタン.leading = leading - 10 左端ボタン.centerY = 1個目ボタン.centerY trailing = Editscroll.trailinScrollg Editscroll.top = Pages.bottont Editscroll.leading = leading 2個目ボタン.height = 1個目ボタン.height 2個目ボタン.width = 1個目ボタン.width 2個目ボタン.top = 1個目ボタン.top 2個目ボタン.leading = centerX - 99 2個目ボタン.centerY = 1個目ボタン.centerY bottom = 3個目ボタン.bottom + 11 3個目ボタン.top = 1個目ボタン.top 3個目ボタン.width = 2個目ボタン.width 3個目ボタン.leading = 2個目ボタン.trailing + 23 右端ボタン.height = 1個目ボタン.height 右端ボタン.centerY = 1個目ボタン.centerY trailing = 右端ボタン.trailing -10 centerX = 1個目ボタン.trailing + 120 1個目ボタン.top = Editscroll.bottom + 11 bottom = 1個目ボタン.bottom + 11
KoichiYoshimi

2017/07/25 05:36

制約(Constraint)に ターゲット毎の設定を追加する方法がわかりました。 素人で、申し訳ありません
fuzzball

2017/07/25 06:13

回答に追記しましたので暇なら見て下さい。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問