私は各UITableviewCellに2つのボタンを含むUITableViewを持っています。 UITableviewが編集モードのときにボタンを非表示にするにはどうすればいいですか? おかげiOs - 編集モードに入るときにボタンを隠す
3
A
答えて
2
私は、あなたがのUITableViewCellのサブクラスを作成し、プロパティとしてボタンを追加することをお勧めその後、YESに自分hidden
プロパティを設定します。
@interface CustomCell: UITableViewCell
{
UIButton *btn1;
UIButton *btn2;
}
@property (nonatomic, readonly) UIButon *btn1;
@property (nonatomic, readonly) UIButon *btn2;
- (void)showButtons;
- (void)hideButtons;
@end
@implementation CustomCell
@synthesize btn1, btn2;
- (id) initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSStrig *)reuseId
{
if ((self = [super initWithStyle:style reuseidentifier:reuseId]))
{
btn1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
// etc. etc.
}
return self;
}
- (void) hideButtons
{
self.btn1.hidden = YES;
self.btn2.hidden = YES;
}
- (void) showButtons
{
self.btn1.hidden = NO;
self.btn2.hidden = NO;
}
@end
そして、あなたのUITableViewDelegateに:
- (void)tableView:(UITableView *)tableView willBeginEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
[(CustomCell *)[tableView cellForRowAtIndexPath:indexPath] hideButtons];
}
- (void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
[(CustomCell *)[tableView cellForRowAtIndexPath:indexPath] showButtons];
}
はそれがお役に立てば幸いです。
2
もっと簡単な解決策でこのスレッドを更新したかっただけです。あなたが親UITableView
さん-setEditing:animated:
メソッドを呼び出した後、これは、セルごとに自動的に呼び出されます
override func setEditing(editing: Bool, animated: Bool) {
super.setEditing(editing, animated: animated)
// Customize the cell's elements for both edit & non-edit mode
self.button1.hidden = editing
self.button2.hidden = editing
}
:UITableViewCell
のカスタムサブクラス内の特定の要素を非表示にするためには、単にUITableViewCell
(スウィフトで実装)ための1つの方法をオーバーライドします。
関連する問題
- 1. 編集モードに入る/出るときにUITableViewCellを再描画する
- 2. 編集モードに入るときにUITableViewCellの背景色を維持する
- 3. TableViewの編集ボタンを押したときに自己編集モードを起動できませんでした
- 4. UITableView編集モードでの別のボタン
- 5. UITableViewCell編集/並べ替えモードに入るときのカスタム描画とアニメーション
- 6. iOS7 - ABPersonViewController、編集モード
- 7. DataGridView編集モード
- 8. 編集モードのときにios didselectrowatindexpathが呼び出されない
- 9. iOS 8.1のUITextFieldは、一部のフォントを使用しているときに、編集モードと非編集モードの垂直方向の配置が異なる
- 10. アニメーションUITableViewCell ContentViewが編集モードに入ると消えるようにする
- 11. DataGridが編集モードになっているときにボタンを無効にする
- 12. cck隠しフィールド、編集ユーザの入力
- 13. iosの編集モードでセルのテキストをアニメートする方法
- 14. FormViewコントロール編集モード
- 15. AngularJS編集モードcss
- 16. グリッドが編集モードに入ると、DateTimeピッカーは値を消去します
- 17. uitableview編集モード中にセグを破棄
- 18. 編集モードのときに編集テキストの背景を制御する方法。アンドロイド用?
- 19. PowerPointで編集モードのボタンからマクロを呼び出す
- 20. Dynamics AX 2012:AxGridView編集モードで、保存ボタンを非表示にする方法
- 21. カスタムセルでモードを編集
- 22. 剣道グリッドは常に編集モードにできますか?
- 23. 編集モードでUITableViewCellを選択する
- 24. 編集モードでデータフォームを起動する
- 25. tableviewcontrollerの編集モードで「削除」ボタンの名前を変更
- 26. DataList編集モードのFindControl
- 27. テーブル - 編集モード(Sql 2008)
- 28. MVC 3 telerikグリッド編集モード
- 29. ポップアップカレンダーasp.net gridviewの編集モード
- 30. グリッドビュー編集モードのカレンダー
ありがとうございます@ H2CO3、私は単一のセルを更新するときに動作しますが、すべてのセルが編集モードになっているときにこのメソッドを適用する方法を考えていますか? ( "マイナス" ボタンは、すべての行に表示されたときに意味?) – Stan92
私はボタンを非表示にするためにこれを見つけた: - (UITableViewCellEditingStyle)のtableView:(のUITableView *)のtableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { [(CustomCell *) [tableView cellForRowAtIndexPath:indexPath] hideButtons]; return UITableViewCellEditingStyleDelete; } 編集モードを終了したときに表示されることはわかりません。 – Stan92
とにかく、このメソッドは、セルを更新するときに呼び出されません。他のデリゲートメソッドの中で呼び出されます。 –