2012-02-09 11 views
1

拡張可能なセルフォームnibを作成する必要があります。私のtableviewのセルの寸法がcustom-cell nibの寸法と等しいかどうかは問題ありません。しかし、私はそれはそれはこのようになります小さくするカスタムセルの高さを変更しようとしているとき:NIBから拡張可能なカスタムUITableViewCell

enter image description here

あなたは私がペン先から/崩壊カスタムテーブルセルを拡張し、避けることができますどのように私にいくつかのアドバイスを与えることができますこの効果は?

UPD:heightForRowAtIndexPathが実装されていて、正常に動作します。折りたたまれているときに、セルが展開されたときにのみ表示されるすべてのアウトレットがすべてのセルのすべてのテーブルビューに表示されるという基本的な問題

答えて

2

私は解決策を見つけました。それは非常に簡単です。 Interface Builderでカスタムセルの "Clip SubViews"プロパティを設定するだけです。

+0

おかげでそれは助けてくれます... – Mangesh

+0

テーブルビューを展開するための非常に単純なヒント。 – user3182143

1

heightForRowAtIndexPathデータソースメソッドを参照してください。これは次のようになります。

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    if (expandableCell) 
     return 20.0f; 
    return 44.0f; 
} 
+0

この回答は正しいですが、セルを展開/縮小するときに[tableView reloadCellAtIndexPath:...]を呼び出す必要があります。そうしないと、再度heightForRowAtIndexPathメソッドが呼び出されません。これを行う1つの方法は、拡大/縮小するときにセルからNSNotificationをブロードキャストして、テーブルのビューコントローラでピックアップして、セルの再読み込みが必要であることが分かるようにすることです。 –

+0

@NickLockwoodはい、あなたは正しいです。しかし、OPはこの問題のみを意味し、テーブルをリロードすることは別の質問のように見えます。たぶんOPはそれを解決した、おそらく別のスレッドでそれを尋ねた:) – beryllium

+0

私はheightForRowAtIndexPathを実装して、それはうまく動作し、ViewDidLoadの後にtable-cell nibからのすべてのアウトレットがテーブルビュー上に置かれたという基本的な問題 – stalk

関連する問題