2011-06-23 8 views
3

編集モードでインデントを停止するためにカスタムテーブルセル(XIBを使用して構築)を取得する方法を今、多くの時間を費やしています。TableViewの編集中にカスタムTableCellにインデントが発生しない

例:とHow can I change the amount of indentation on my custom UITableViewCell while editing?ですが、OPがセルを飛び回っているのと同じ問題が発生しているようです。

誰かがこの問題を解決する良い方法を見つけましたか?

基本的に私はCustomTableCellを持っています。そのセルに編集モードを入力すると、セルはインデントなしのままにしておきます。

ありがとうございました!

答えて

0

興味深い。私はそのソリューションをリンクの中でハックを使ってポストされたものにすることができました:layoutSubviewsでは私はself.indentationWidth = 0.0001; :。最もクリーンなソリューションではありませんが、機能します。

+1

レイアウトのサブビューはどこですか?細胞のものですか?またはセルの背景ビューまたは何ですか?ありがとう! – klyngbaek

0

約300〜320ポイント幅のUIViewにカスタムセルのサブビューを配置し、そのサブビューをセルのコンテンツビューに追加すると、編集モードをトリガするときにサブビューが移動しないことを発見しました。

+0

興味深い。私は、ソリューションをハッキングを使用してリンクの仕事に投稿させることができた: layoutSubviewsで私はちょうどself.indentationWidth = 0.0001; :\。最もクリーンなソリューションではありませんが、機能します。 – user754905

1

デリゲートメソッドtableView:shouldIndentWhileEditingRowAtIndexPath:を使用し、falseを返す必要があります。

docsから: "テーブルビューが編集モードのときに、指定された行の背景をインデントする必要があるかどうかを委任者に問い合わせます。

3

いいえを返すには、tableView:shouldIndentWhileEditingRowAtIndexPath:delegateメソッドを使用する必要があります。それが動作しない場合は、.xibに行き、ユーティリティビュー(右側のもの)を開きます。そこから、ファイルインスペクタタブで「Autolayoutを使用」を無効にし、属性インスペクタで「編集中にインデントする」を無効にします。

関連する問題