2015-11-14 2 views
0

Я искал это какое-то время, но не могу найти ничего подобного.UIToolbar не отвечает в пользовательском UITableViewCell с UIPickerView

У меня есть UITableView, и когда выбрана определенная строка, я вставляю другую строку ниже. Вставленная строка представляет собой пользовательскую таблицу, содержащую UIPickerView. Функция pickerview отлично работает, и когда элемент выбран, он может инициировать уведомление, отправив выбранную информацию обратно в контроллер tableview, а затем удалить «pickerviewcell». Там все хорошо. Но это не идеально, если пользователь хочет прокручивать назад и вперед по uipickerview. Поэтому я добавил uitoolbar в uipickerview с кнопкой Cancel & Done.

Но кнопки «Отмена» и «Готово» никогда не срабатывают.

Из других предметов, которые я прочитал, они говорят о UIFirstResponder и т. Д. И т. Д., Но все они связаны с созданием uipickerview входного представления для поля uitext. Но это не то, что я делаю.

Я пробовал делать все это в коде и через раскадровки с одинаковыми результатами каждый раз.

Некоторые примеры ниже ..

// (in my CustomTableViewCell's AwakeFromNib function) 
    let screenSize: CGRect = UIScreen.mainScreen().bounds 
    pickerView = UIPickerView(frame: CGRectMake(0,0, screenSize.width, 162)) 
    pickerView.delegate = self 
    pickerView.dataSource = self 

    pickerToolbar.barStyle = UIBarStyle.Default 
    pickerToolbar.translucent = true 
    pickerToolbar.tintColor = UIColor.orangeColor() 
    pickerToolbar.sizeToFit() 

    pickerToolbar.userInteractionEnabled = true 
    pickerView.addSubview(pickerToolbar) 
    self.contentView.insertSubview(pickerView, atIndex: 3) 

    // both these logs show correct output 
    NSLog("picker subviews: %@", pickerView.subviews.description) 
    NSLog("toolbar subviews: %@", pickerToolbar.subviews.description) 

Скриншот Пример: При нажатии на «К» ячейкой, новая ячейка вставляется которая имеет сборщика. Сборщик отлично работает сам по себе. Но кнопка «Отмена» не запускается. У него есть IBAction, связанный с ним из Storyboard. Щелчок по любой ячейке также правильно закрывает или удаляет пике.

enter image description here

ответ

0

Я сделал сборщика в UITextView, и я с помощью

-(BOOL) textFieldShouldReturn:(UITextField *)textField{ 
[textField resignFirstResponder]; 

return NO; 

, а затем отклоняя клавиатуры с

-(void)dismissKeyboard { 
[_date resignFirstResponder]; 
} 

где _DATE был моим UITextField свойство

Dismissing UIPickerView with Done button on UIToolBar

Это действительно хороший пост, который я нашел на эту тему! Надеюсь, это помогло.

+0

Спасибо за комментарий, но это не то, что мне нужно. Я не использую сборщик как inputaccessoryview или как firstresponder. Это просто подзаголовок в tableviewcell, и мне нужно, чтобы кнопка «Отключить» uitoolbar была запущена, что затем скроет/удалит ячейку из представления. –

Смежные вопросы