ビューが読み込まれたときにUITableView
のセルを無効にしたいプロジェクトがあり、ボタンを押した後にUITableView
のセルを有効にする必要があります。正しく機能します。uitableviewでセルを有効または無効にする方法
どうすればいいですか?
ビューが読み込まれたときにUITableView
のセルを無効にしたいプロジェクトがあり、ボタンを押した後にUITableView
のセルを有効にする必要があります。正しく機能します。uitableviewでセルを有効または無効にする方法
どうすればいいですか?
table.allowsSelection = NO;あなたのviewwillappearメソッドの をクリックし、YESボタンをクリックします。
//In UIButton pressed event
boolEnabled=YES; //Declare it in header file
[yourTableView reloadData]; //reload UITableView
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
//After creating a cell
if(boolEnabled==YES) //Will enable for any action
{
cell.userInteractionEnabled=YES;
}
else
{ //disable for any action
cell.userInteractionEnabled=NO; //Default boolEnabled=NO;
}
}
'cell.enable'というもう一つのプロパティがあり、' YES'または 'NO'に設定することもできます。 – Hemang
あなたがテーブル全体の無効にしたい場合は、uを使用することができます。
table.userInteractionEnabled = FALSE;
、[OK]をクリックします上のボタン上:私はどうなるのか
table.userInteractionEnabled = TRUE;
は@property (nonatomic) BOOL tableIsActive
を持っています
私の- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
で私はやります
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if(self.tableIsActive)
{
//style cells for enabled table
}
else
{
//style cells for enabled table
}
}
そしての私- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
I
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if(self.tableIsActive)
{
//handle selection
}
else
{
[tableView deselectRowAtIndexPath:indexPath animated:NO];
}
}
だろう。そして、私は、コール[yourTable reloadData];
-(void) enableTable:(id)sender
{
if(self.tableIsActive)
self.tableIsActive = NO;
else
self.tableIsActive = YES;
}
としない、私のボタンにバインドする機能-(void) enableTable:(id)sender
を持っているでしょう
あなたは次のコードを使用してそれを行うことができます。テーブルビューのデルゲートメソッド
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *categoryIdentifier = @"Category";
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
}
//Way to stop to choose the cell selection
if(indexpath.row==0)
{
cell.selectionStyle = UITableViewCellSelectionStyleNone;
Or
cell.userIneractionEnabled=False;
}
//while rest of the cells will remain active, i.e Touchable
return cell;
}
有効にして無効にする必要があるということを明確にしてください。 – Armand