UIPickerViewから複数の行を選択し、UITextFieldに配置したいとします。私のプロジェクトで使われている言語は客観的なものです。論理を理解できませんUIPickerViewから複数の行を選択する方法
答えて
あなたが達成したいことがわかっているのは、リストから複数の項目を選択してUITextField
に表示したいということです。そのためには、
最初にUITableView
をstoryboard
にドラッグアンドドロップし、datasource
とdelegates
を接続します。
tableview
に
ドラッグUITableViewCell
とreuserIdentifier
としてテーブルセルを与えます。
UILabel
とUIImageView
をtableCell
にドラッグします。 label
とimageView
にタグをつけてととしてください。 imageview
を小さな箱のようにして、label
の横に置きます。
array
を入力して、アイテムを選択してUITableView
を入力するように表示するリストを表示します。
選択したアイテムを保存する別のarray
を取ってください。あなたのviewDidLoad
あなたの項目array
を移入して今
@implementation ViewController {
NSMutableArray *arrItems;
NSMutableArray *arrSelectedItems;
}
:ちょうどあなたの実装の下
は、このような二つの配列を宣言します。
- (void)viewDidLoad {
[super viewDidLoad];
arrItems = [[NSMutableArray alloc]init];
for (int i = 0; i < 10; i++) {
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
[dict setObject:[NSString stringWithFormat:@"Item%d",i+1] forKey:@"itemName"];
[dict setObject:@"0" forKey:@"isSelected"];
[arrItems addObject:dict]
}
arrSelectedItems = [[NSMutableArray alloc]init];
}
今UITableView
のDataSource
とDelegate
メソッドを実装します。私はそれをテストしていませんが、ここでは合計コードを書かれているので、何らかのエラーが発生した場合、お気軽に:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSMutableDictionary *dict = [arr objectAtIndex:indexPath.row];
if ([arrSelectedItems containsObject:dict]) {
[arrSelectedItems removeObject:dict];
} else {
[arrSelectedItems addObject:dict];
}
if ([[dict valueForKey:@"isSelected"]isEqualToString:@"0"]) {
[dict setObject:@"1" forKey:@"isSelected"];
} else {
[dict setObject:@"0" forKey:@"isSelected"];
}
[tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
//Here you can show the selected Objects in `UITextField`
self.yourTexField.text = [arrSelectedItems componentsJoinedByString:@","];
}
PSを:
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return arrItems.count; } -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"TableCell"]; NSMutableDictionary *dict = [arrItems objectAtIndex:indexPath.row]; UILabel *lblItemName = (UILabel *)[cell.contentView viewWithTag:888]; lblItemName.text = [dict valueForKey:@"itemName"]; UIImageView *imageView = (UIImageView *)[cell.contentView viewWithTag:999]; if ([[dict valueForKey:@"isSelected"]isEqualToString:@"0"]) { imageView.backgroundColor = [UIColor redColor]; } else { imageView.backgroundColor = [UIColor greenColor]; } return cell; }
は今、以下のように
didSelectRowAtIndexPath
で複数選択のログインを実装します下のコメントを残すために、私はそれを解決するためにそこにいます。
私はあなたに役立つと思います。
ありがとう非常に –
お寄せください。 :)ハッピーコーディング。 :)可能であれば、答えをupvoteしてください。 :P – iPeter
各行を言語として新しいテーブルビューを作成し、ユーザーがテキストフィールドに応答したときに表示することができます。
複数選択ロジックの実装方法については、hereのスターターコードを参照してください。
テキストフィールドにはプロパティーコールinputview
があります。それをtableviewに置き換えることができます。
- 1. UIPickerViewで行を選択する方法
- 2. 選択から複数の段落を選択する方法
- 3. UITextViewのUIPickerViewからの選択を追跡する方法は?
- 4. 複数の行から範囲を選択する方法
- 5. 春に複数のテーブルから複数の行を選択する方法jdbctemplate
- 6. uipickerviewデフォルトの行を選択する
- 7. 最小値で複数の行から1行を選択する方法
- 8. 複数の選択ドロップダウンから値をクリアする方法は?
- 9. 複数の値をデータベースから選択する方法
- 10. サービスからのデータの複数行選択を処理する方法
- 11. SQL Serverのテーブルから複数の最大行を選択する方法
- 12. Oracle SQL - 複数の行からデータを選択して結合する方法
- 13. 複数の行から単一行を選択する - Teradata
- 14. UIPickerView - タップの選択
- 15. 複数の選択肢から複数の値を選択する方法php codeigniter?
- 16. onDestroy内から複数選択ダイアログを解除する方法
- 17. uipickerviewで複数の画像を選択することは可能ですか
- 18. 数字の行からエントリを選択する方法
- 19. 1行で複数の列のAVGを選択する方法
- 20. パンダのデータフレームで複数の行を選択する方法
- 21. ロータススクリプト - 複数選択リストボックスで複数の値をプログラムで選択する方法
- 22. UIPickerView無効な行の選択
- 23. UITableviewで複数の行を選択する方法
- 24. 複数の選択行を更新する方法
- 25. SQL - 複数の行を選択する方法
- 26. SQLで複数の行と複数のフィールドを選択する方法
- 27. 選択したオプションを複数選択する方法
- 28. 複数を選択:選択/解除する方法(JavaScript)
- 29. 複数のテーブルから選択する
- 30. 選択結果から複数の行を挿入する
あなたは 'UITableView'を使って自分自身を作る方が良いです –
私はそれを行う方法を理解できません –
' UITableView'に複数の選択を実装する必要があります。 @MuhammadAdeelQureshi – iPeter