私はテーブルビューを持っています。3 つのセルのそれぞれがピッカー ビューを呼び出します。しかし、3 番目のセルで 4 番目のセルの外観を制御したいと考えています。ユーザーがセル 3 の値「1」を選択した場合、セル #4 を使用可能にするか、ユーザーが追加の値を選択できるようにします。
これはできますか?
私はテーブルビューを持っています。3 つのセルのそれぞれがピッカー ビューを呼び出します。しかし、3 番目のセルで 4 番目のセルの外観を制御したいと考えています。ユーザーがセル 3 の値「1」を選択した場合、セル #4 を使用可能にするか、ユーザーが追加の値を選択できるようにします。
これはできますか?
このようなことができます。ピッカーで行を選択したとき
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
// Check proper condition and do accordingly
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:4 inSection:0];
[self.tableView insertRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationBottom];
}
それはあなたがそれを詳しく説明する必要がある単なるアイデアです。
編集
1 つのトリッキーな解決策
最後のセルをグレー表示にしたいとします。numberOfRowsInSectionでソリューションを確認するだけで非常に簡単です
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
if(showLastCell)
{
return 4;
}
return 3;
}
条件が false の場合、最後のセルがグレー表示されます。
ピッカーが選択されたら、条件を true( showLastCell = YES
) にして tableView をリロードします。
[self.tableView reloadData]