2012-03-29 17 views
6

私はグループ化されたUITableViewを持っていて、編集モードに入ると、セルはインデントされます。私は、編集モードに入るときにセルのインデントを止める必要があります。UITableViewCell編集モードインデントを削除しますか?

私は二つのこと試してみました:

cell.shouldIndentWhileEditing = NO; 

-(BOOL)tableView:(UITableView *)tableView shouldIndentWhileEditingRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return NO; 
} 

編集モードに入ると、これらのストップ細胞インデントのどちら

を。ですから、誰かが助けてくれることを願っています。

+0

あなたは何をしたいですか? 「削除」記号はどこに表示されると思いますか?または多分私は質問を誤解...:/ – TommyG

+0

私はテキストと物事をフォーマットする方法は、インデントなしでまだ部屋が任意の削除アイコンがあることを意味します。かなりシンプルで、通常は編集中に、セルが挿入され、インデントされます。編集アイコンを押すと、削除アイコンが表示されますが、セルのインデントはありません。 –

+0

興味深い...あなたの新しいコードを貼り付けてもらえますか?好奇心が強い。 – TommyG

答えて

7

はそれを道のマニュアルを参照しています[UITableViewCell willTransitionToState:]を引用し、提案する:それは状態を変更したときのUITableViewCellの

サブクラスでは、セルに追加の変更をアニメーション化するために、このメソッドを実装することができます。 UITableViewCellは、通常の状態(デフォルト)から編集モードなど、セルが状態間を遷移するたびにこのメソッドを呼び出します。カスタムセルは、新しい状態で表示される新しいビューを設定して配置できます。 セルはlayoutSubviewsメッセージ(UIView)を受信し、新しい状態の最終位置にこれらの新しいビューを配置することができます。このメソッドをオーバーライドするときは、サブクラスは常にsuperを呼び出す必要があります。言い換えれば

、あなたはインデンデーションをキャンセルし、[UITableViewCell layoutSubviews[UITableViewCell contentView]の位置や大きさを変更することができます。

+1

サンプルまたはサンプルのソースコードを教えてください。 – harshitgupta

+0

グループ化されたテーブルのcontentViewフレームを変更したとき、セルの内容は移動しましたが、セルの周りの境界線は同じままだったので、正しく表示されませんでした。 – arlomedia

関連する問題