私は各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. JTableが編集モードに入るのを聞きます
- 2. 編集モードに入る/出るときにUITableViewCellを再描画する
- 3. 編集モードに入るときにUITableViewCellの背景色を維持する
- 4. TableViewの編集ボタンを押したときに自己編集モードを起動できませんでした
- 5. UITableView編集モードでの別のボタン
- 6. UITableViewCell編集/並べ替えモードに入るときのカスタム描画とアニメーション
- 7. iOS7 - ABPersonViewController、編集モード
- 8. JTable編集モード
- 9. DataGridView編集モード
- 10. 編集モードのときにios didselectrowatindexpathが呼び出されない
- 11. iOS 8.1のUITextFieldは、一部のフォントを使用しているときに、編集モードと非編集モードの垂直方向の配置が異なる
- 12. アニメーションUITableViewCell ContentViewが編集モードに入ると消えるようにする
- 13. ag-Grid:プログラムで編集モードにする
- 14. 編集ボタン付きテーブルのインライン編集
- 15. Meteorアプリ - 入力フォーカスの編集ボタンと非フォーカスの編集ボタンを非表示にする
- 16. DataGridが編集モードになっているときにボタンを無効にする
- 17. iosの編集モードでセルのテキストをアニメートする方法
- 18. iOS Swift ImagePickerController:編集モードを改善する
- 19. cck隠しフィールド、編集ユーザの入力
- 20. ボタンを編集モードで表示するodo
- 21. 編集モードでのみボタンを表示するOracle Apex 5
- 22. DevExtremeグリッド - 編集モード
- 23. AngularJS編集モードcss
- 24. FormViewコントロール編集モード
- 25. 剣道UIグリッド - ダブルクリックで編集モードに入る
- 26. グリッドが編集モードに入ると、DateTimeピッカーは値を消去します
- 27. ユーザーがボタンを押したときにインラインキーボードを編集する
- 28. 剣道UIインライン編集:他のボタンがクリックされたときにボタンを隠す方法
- 29. グリッドの編集可能モードと非編集可能モードの切り替え
- 30. C#で編集モードでXMLファイルを編集する方法
ありがとうございます@ H2CO3、私は単一のセルを更新するときに動作しますが、すべてのセルが編集モードになっているときにこのメソッドを適用する方法を考えていますか? ( "マイナス" ボタンは、すべての行に表示されたときに意味?) – Stan92
私はボタンを非表示にするためにこれを見つけた: - (UITableViewCellEditingStyle)のtableView:(のUITableView *)のtableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { [(CustomCell *) [tableView cellForRowAtIndexPath:indexPath] hideButtons]; return UITableViewCellEditingStyleDelete; } 編集モードを終了したときに表示されることはわかりません。 – Stan92
とにかく、このメソッドは、セルを更新するときに呼び出されません。他のデリゲートメソッドの中で呼び出されます。 –