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

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

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

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

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

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

1回答

3743閲覧

xcodeのautolayout、constraintsがうまくいかない

退会済みユーザー

退会済みユーザー

総合スコア0

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

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

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2018/08/21 02:44

編集2018/08/21 03:22

xcodeのstoryboard上でconstraintsを付けています。
ViewController上にあるcollectionViewに制約を付けたところ、表示されなくなってしまいます。
(制約なしだと問題なく表示されるものです。)
制約の付け方がまずいのだと思うのですが、どこが良くないのか教えてください。

###Storyboardのレイアウト
ViewController
└label
└collectionview

画面上部にタイトル文字、その下に画面幅いっぱいのcollectionviewを置きたいです。

###今collectionViewに付けている制約

  • Top Space to: label
  • Leading Space to: Superview
  • Trailing Space to: Superview
  • Equal Width to: Superview

上記に

  • Width Equals: 100
  • Height Equals: 100

など幅と高さを絶対指定すると表示されます。
ただ、幅の絶対指定に代わる指定方法がequalwidthやleadingspace&trailingspaceだと思っていたので、イマイチ納得がいきません。
このあたりについて教えていただけると幸いです。

追記
collectionViewに以下の制約を追加すると表示されました。

  • Bottom Space to: Superview (Equals: xx)
  • Width Equals: 100

高さについては絶対値指定を免れたので良いのですが、幅に関してはWidth Equalsを指定したままです。
これだと画面幅が変わったときにおかしくなると思うのですが、どうしてもWidth Equalsを指定しないといけないのでしょうか?

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

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

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

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

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

guest

回答1

0

縦方向(Vertical)の制約を付けて下さい。
少なくとも、エラー(Viewの右横に表示される赤い矢印)が消えるようにして下さい。

投稿2018/08/21 02:54

fuzzball

総合スコア16731

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

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

退会済みユーザー

退会済みユーザー

2018/08/21 03:16

centerverticalしか選択肢がないのですが、上下中央配置ではなく、ラベルの下に配置したいです。 また、topSpaceto: labelでこのあたり指定できていると思っていたのですが、そういうわけではないのでしょうか?
fuzzball

2018/08/21 03:56

「ラベルの下」はいいのですが、じゃあラベルはどこに配置するの?ということです。 ラベルにも制約を付けて下さい。 また、追記に「幅」に関して書かれていますが、横方向については問題ありませんので、最初の状態に戻して下さい。
退会済みユーザー

退会済みユーザー

2018/08/21 04:57 編集

ありがとうございます。EqualWidthの制約は外しましたが、問題ありませんでした。 ラベルにはLeadingSpacetoとTopSpacetoの制約を付けています。 これだけでは足りないでしょうか?
fuzzball

2018/08/21 05:20

それで大丈夫です。エラーは出てないけどCollectionViewが表示されない(もしくは表示がおかしい)のでしょうか? 一度質問を整理してもらえますか? 現状の制約と問題点を書いて下さい。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問