Mercurial > dwindows
changeset 2738:c2387166a414
iOS: Improve the combobox. Trigger the input view when touching the combobox
down arrow, instead of just setting up the custom (list) input view.
If becoming first responder by some other means, switch back to the keyboard
input view instead of our custom (list) based input view.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Fri, 17 Dec 2021 12:47:28 +0000 |
parents | 74b69da35e91 |
children | 02c53dd5e21d |
files | ios/dw.m |
diffstat | 1 files changed, 12 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/ios/dw.m Fri Dec 17 00:39:33 2021 +0000 +++ b/ios/dw.m Fri Dec 17 12:47:28 2021 +0000 @@ -2860,10 +2860,12 @@ } -(void)showPicker:(id)sender { + [self resignFirstResponder]; + pickerView = [[UIPickerView alloc] init]; [pickerView setDataSource:self]; [pickerView setDelegate:self]; - + /* If the text field is empty show the place holder otherwise show the last selected option */ if([[self text] length] == 0 || ![dataArray containsObject:[self text]]) { @@ -2879,7 +2881,6 @@ UIToolbar* toolbar = [[UIToolbar alloc] init]; [toolbar setBarStyle:toolbarStyle]; - [toolbar sizeToFit]; /* Space between buttons */ UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace @@ -2899,10 +2900,18 @@ action:@selector(cancelClicked:)]; [toolbar setItems:[NSArray arrayWithObjects:cancelButton, flexibleSpace, doneButton, nil]]; - + [toolbar sizeToFit]; + /* Custom input view */ [self setInputView:pickerView]; [self setInputAccessoryView:toolbar]; + [super becomeFirstResponder]; +} +-(BOOL)becomeFirstResponder +{ + [self setInputView:nil]; + [self setInputAccessoryView:nil]; + return [super becomeFirstResponder]; } -(int)selectedIndex { return selectedIndex; } @end