2017-07-19 12 views
1

私はUITableViewを上部に、UIViewを下部に持っている制約自動レイアウト問題に直面しています。 UITableViewがtableViewセクションを展開すると、UIViewを下に移動して自動的に下に移動します。tableViewセクションを折りたたむと、下のUIViewが自動的に上に移動します。以下はuitableviewとuiviewのための制約autolayout

enter image description here

緑の部門に私のストーリーボードのデザインは、赤部門はUIViewのである上、のUITableViewです。

enter image description here

You can get my code from here

あなたのヘルプははるかに高く評価されます。

+0

カントあなただけのUIViewあなたのテーブルビューの一部(セルまたはフッターのビューが)、それはいくつかの他のUIViewを持って、まだ実際に下回っTj3n @あなたの他のテーブルビューセル – Tj3n

+0

にシフトすることを確認してください。 –

+0

@NurIIは、セクションに行を追加すると自動的に調整されません。あなたの下のビューのトップがテーブルビューの底にフラッシュされている限り – Joshua

答えて

0

テーブルビューの高さの制約のIBOutletを追加します。

enter image description here

制御+ビューコントローラにドラッグ&ドロップ。あなたはこのような財産を得るでしょう。

@property (strong, nonatomic) IBOutlet NSLayoutConstraint * tableviewHeightConstraints; 

次に、テーブルビューを切り替えるたびにこの番号を呼び出します。 contentSizeは、テーブルビューの高さを計算し、高さをtableviewHeightConstraintsの制約に更新します。

CGFloat height = MIN(self.view.bounds.size.height, self.tableView.contentSize.height); 
self.tableviewHeightConstraints.constant = height; 
[self.view layoutIfNeeded]; 
+0

Errは "@property(nonatomic、strong)NSLayoutConstraint * tableviewHeightConstraints;"です。 "@property(nonatomic、strong)"の代わりに "IBOutlet NSLayoutConstraints * tableviewHeightConstraints;" ? –

+0

はい。更新しました。今すぐご確認ください。あなたはそれを働かせることができましたか? – Balasubramanian

+0

こんにちはバラ、応えました。しかし、セクションをクリックして展開&折りたたむ。結果は逆になります。私はこのリンクに自分のコードをアップロードしました。あなたが私を助けてくれますか?https://drive.google.com/open?id=0B3e7l6RGD-rnMmFDZi1LOS1MMkU –

0

使用してください​​: タイトル1、タイトル2 ...は、テーブルビューヘッダーセクションです。 numberofRowinsection = 1を展開し、折りたたむとき= 0にすると、あなたのビューはセクション内のセルになります。
セクションをクリックすると、リロードセクションが表示されます。

-2

心配しなくてうれしいです。私はあなたのための解決策を作りました。単純なレイアウトを考えると、以下の急な流れ:

1.Your親のレイアウトがConstraintLayoutで、
2.Secondly RelativeLayoutを取り、
3.Then別ConstraintLayoutを取ると、
は4.Finally追加するには」 Googleのリンクを

<?xml version="1.0" encoding="utf-8"?> 
<android.support.constraint.ConstraintLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:background="#EACB3B" 
    tools:context="com.example.uitableview.MainActivity"> 

     <RelativeLayout 
      android:layout_width="0dp" 
      android:layout_height="0dp" 
      android:orientation="vertical" 
      tools:layout_constraintTop_creator="1" 
      tools:layout_constraintRight_creator="1" 
      tools:layout_constraintBottom_creator="1" 
      android:layout_marginStart="8dp" 
      android:layout_marginEnd="8dp" 
      android:layout_marginTop="8dp" 
      android:layout_marginBottom="8dp" 
      app:layout_constraintBottom_toBottomOf="parent" 
      app:layout_constraintRight_toRightOf="parent" 
      tools:layout_constraintLeft_creator="1" 
      app:layout_constraintLeft_toLeftOf="parent" 
      app:layout_constraintTop_toTopOf="parent"> 

       <android.support.constraint.ConstraintLayout 
        android:id="@+id/lvID" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent"> 


         <ImageView 
          android:id="@+id/imgView" 
          android:layout_width="wrap_content" 
          android:layout_height="234dp" 
          android:src="@drawable/mango" 
          app:layout_constraintLeft_toLeftOf="parent" 
          app:layout_constraintRight_toRightOf="parent" 
          android:layout_marginTop="8dp" 
          app:layout_constraintTop_toBottomOf="@+id/expLv" 
          app:layout_constraintHorizontal_bias="0.0" /> 

         <ExpandableListView 
          android:id="@+id/expLv" 
          android:layout_width="352dp" 
          android:layout_height="wrap_content" 
          android:layout_marginTop="16dp" 
          android:orientation="vertical" 
          app:layout_constraintLeft_toLeftOf="parent" 
          app:layout_constraintRight_toRightOf="parent" 
          app:layout_constraintTop_toTopOf="parent" /> 
       </android.support.constraint.ConstraintLayout> 

     </RelativeLayout> 
</android.support.constraint.ConstraintLayout> 

それともも流れることができる:ExpandableListView」とあなたのUI要素が

また、以下のコードを見ることができます https://drive.google.com/open?id=0B-yo9VvU7jyBUHN6RHVXQmUtVU0

+1

しかし、これはiOSではありません –

関連する問題