У меня проблема с выбором даты. Когда я касаюсь текстового поля (datumletu), я вызываю picker и datumletu [уходит в отставку firstresponder]. Но никакого эффекта. Вот мой код. Я пытаюсь все, но ничего не работает.Отказ от первого ответчика не работает, когда отображается сборщик
-(void)textFieldDidBeginEditing:(UITextField *)textField {
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;
if (textField == self.datumLetu) {
[self.view endEditing:YES];
[self.autoTextFieldPriletu resignFirstResponder];
[self.autoTextField resignFirstResponder];
[self.cisloLetu resignFirstResponder];
[self.datumLetu resignFirstResponder];
self.picker.hidden = YES;
[self showPicker];
CGRect rect = self.view.frame;
if(rect.origin.y == 0)
{
rect.origin.y -= 110;
rect.size.height += 110;
[UIView animateWithDuration:0.2 animations:^{
self.view.frame = rect;
}];
self.picker.frame = CGRectMake(0, screenHeight/2 + screenHeight/3.2, screenWidth, screenHeight/2);
}
и сборщика
-(void)showPicker
{
[self showAction];
}
-(void) showAction
{
CGRect screenRect = [[UIScreen mainScreen] bounds];
CGFloat screenWidth = screenRect.size.width;
CGFloat screenHeight = screenRect.size.height;
self.picker = [[Picker alloc] initWithFrame:CGRectMake(0, screenHeight/2 + screenHeight/10.5, screenWidth, screenHeight/2)];
[self.picker addTargetForDoneButton:self action:@selector(cancelPressed)];
[self.picker addTargetForCancelButton:self action:@selector(cancelPressed)];
[self.picker setMode:UIDatePickerModeDateAndTime];
[self.picker.picker addTarget:self action:@selector(pickerChanged:) forControlEvents:UIControlEventValueChanged];
[self.view addSubview:self.picker];
self.picker.hidden = NO;
}
Любая помощь высоко ценится.
Я был аналогичная проблема, не знаю если это представляет интерес. Наверное, слишком поздно для вас в любом случае. Проблема у меня была: я представил сборщика, и в процессе представления сборщика я попытался уйти в отставку первым ответчиком. Это не сработало. Я обнаружил, что должен был уволить первого ответчика * перед тем, как начать процесс представления сборщика. –