2017-12-03 13 views
0

私は、テーブルレイアウト内のセルのレイアウトを作成するためにautolayoutを使用しようとしています。私は達成しようとしているもののスクリーンショットを添付します。自動レイアウトの等間隔と重み付けの間隔

enter image description here

主ルールが下部にボタンがセルの幅でなければならないことです。左のイメージは左にタイトになるはずですが、ビュー全体の上端と下端のボタンの上端のちょうど中間に位置する必要があります。次に、ビューの上端とボタンの上端との間に均等に座るために、左に4つの行が必要です。彼らのようにリストに表示され、小さなイメージとテキストラベルが並んでいます。

私はこれを動作させるためにかなりの方法を試しました。私はボタンが必要に応じて底に留まるように管理しました。しかし、私はイメージビューを左に四角形、右に4つの行を残りのスペースを占めるために苦労しています。

ご協力いただければ幸いです。

+0

この質問に(スウィフト3で書かれており、レポ)私の答えを見てみましょう:https://stackoverflow.com/questions/42860324/autolayout-contraints-for-a-view- from-xib/42861232#42861232それはあなたの質問の一部に答えるかもしれません - それはストーリーボードに*中心の*正方形のビューを作成します。さまざまな理由から、私はコード内で制約を行うことを好むので、これはあまり役に立たないかもしれませんが、このリンクは 'UILayoutGuides'の等間隔について議論しています:https://useyourloaf.com/blog/goodbye-spacer-views-hello-layout-guides/ – dfd

+0

イメージは見た目をどのように見せたいのですか?あなたの説明と一致していないようです...「場所と時間の間のスペース」をイメージビューの中心に合わせるべきではないですか?そして、あなたは、「左のイメージは左にぴったりと座っているはずだ」と言っていますが、あなたのイメージには両サイドに不確定な量の「パディング」があります。 – DonMag

答えて

0

あなたは別の容器のビューにImageViewのと行をラップすることにより、あなたが望むものを達成することができます( Attachmentを参照)ImageViewのため

ステップ:

  1. ContainerView1セルの上部に拘束上部にはチェックインボタン
  2. imageViewは、ContainerView1の中心に垂直に拘束されています。また、あなたがContainerView2に行

    1. ラップ行に対して

    手順を必要とするようリードするContainerView1ImageViewの有数の制約を設定します。 ContainerView2は、セルビューの上部に制限され、チェックインボタンの先頭に制限されています。

  3. 拘束firstRow先頭に戻るContainerView2。後続の各行は、その前の行の下端の上に拘束される必要があります。すべてですfirstRowの高さ

に等しくなるようにfirstRowのドラッグ「同じ高さ」の制約を除くすべての行についてはContainerView2

  • LASTROW下を制約します!

    P.S. iOS 9からアプリケーションが動作する場合0セル内の手動設定制約の代わりにUIStackViewを使用できます

  • 0

    イメージを正方形に保つには、1:1のアスペクト制約が必要です。

    あなたの制約を見ずにレイアウトに間違いが起こっているのを知るのは難しいですが、参考のためにこのビューをレイアウトします。

    layout hierarchy result

    関連する問題