2016-03-29 10 views
0

私のアプリでは、ユーザーの記事を表示するのにUITableViewを使います。私は2種類のUITableViewCellsを持っています。記事が画像を持たないものと、記事が画像を有するものとがある。iOS - UIIable + UILabel UITableViewCellのコンフリクト

UITableViewCellsの両方のタイプは、タイトルがUILabelであり、記述がUILabelです。記事のタイトルが長くても短くてもよいので、UILabelnumberOfLinesが0に設定されています。これは、私がUITableViewAutomaticDimensionを使用しているので、UITableViewCellの高さの決定要因です。

記事はそうのような何のイメージを持っていない場合には、ケースに完璧に示しています

enter image description here

私はそれが必要しかし、記事では、画像を有する場合には、それが働いていません。 90個のピクセル

タイトルのセルの右、上、下から

記事画像表示

  • 0ピクセル

  • 幅制約:これらは私のUIConstraintsですラベル

    • numberOfLines記事画像表示の左からトップとセルの左

    • 8ピクセル

    説明ラベル

    • numberOfLinesから0

    • 8ピクセルです1

    • セルの左から個の
    • 8画素のタイトルレーベルの下から

    • 0ピクセル

    • 8条のイメージビューの左からのピクセルセルの下から

    • 8ピクセル

    このように表示されます。

    enter image description here

    私の制約がジョブを正しく実行するのに十分論理的に見えるので、これは非常にイライラです。

    Iは、Pocketアプリはそうのようにそれをやっているかのように見えるために私のレイアウトを必要とする:

    enter image description here

    私が間違ってやっている上の任意のアイデア?助けやアドバイスをいただければ幸いです。ありがとう。 @kiranderの助言に

    ***** ***** UPDATE

    、私は私がこのような結果を得るに役立っている、250に私のUIIMageViewのコンテンツ圧縮抵抗の優先順位を変更しました:

    enter image description here

    タイトルラベルの残りのスペースを最小限に抑える手段はありますか?タイトルラベルの高さは、すべてのテキストが収まるところで十分である必要があります。ピクセルではありません。

+1

画像ビューに高さの制約を追加することを忘れていると思います。スクリーンショットに関して、セルの高さは画像によって決定される。 – kirander

+0

私は画像ビューに高さの制約を与えるつもりはありませんでした。なぜなら、常に画像のビューがセルの上部と下部の両方に到達する必要があるからです。 – Rafi

+1

私は理解しています。次に、縦軸のコンテンツ圧縮抵抗優先度を変更して、ラベルよりも画像の優先度を高くする必要があります。 – kirander

答えて

0

私はキラーダーとマイク・タバーネの助けを借りてこれを解決しました。あなたはこれに似たタイトなデザインが必要な場合、これらは私が望んで私を得た制約た:セルの右、上から

記事画像表示

  • 0ピクセル、下

  • 90ピクセル

  • コンテンツ圧縮性優先の幅の制約 - > 250

タイトルレーベル

  • numberOfLinesは

記事画像ビューの左の説明から、トップとセルの左

  • 8ピクセルから0

  • 8ピクセルですラベル

    • numberOfLinesはタイトルレーベルの下からセルの左

    • 0ピクセルから1つの

    • 8ピクセルです(私は元の質問でこれを述べたが、それは私が持っていなかったことが判明しましたそれ...それは、セルの底から

    • 8画素の記事画像ビューの左から

    • 8ピクセル)私の解決策に向かって私を動かし修正

    これらの制約は、私に次タイトなデザインを与えた:

    enter image description here

  • 関連する問題