2013-02-22 4 views
0

У меня есть представление, которое содержит другое текстовое поле.ручка нажмите клик на фоне iphone

Нажатие на каждое поле taxtfield вызывает клавиатуру, и если я нахожусь за пределами текстового поля, клавиатура исчезает, но вид также исчезает! как я могу изменить код, чтобы я мог выйти из представления с помощью кнопки отмены и нажав вниз, не щелкая за пределами поля tex или нажав на фон.

 - (void)viewDidLoad 
    { 

    [super viewDidLoad]; 
     [self.navigationController setNavigationBarHidden:YES]; 
      self.view.backgroundColor = [self.appDel.styleManager appBackgroundGradientWithFrame:self.view.bounds]; 
     self.tapView.backgroundColor = [UIColor clearColor]; 


     UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self 
                       action:@selector(endPageEdit:)]; 
tap.delegate = self; 
     [self.view addGestureRecognizer:tap]; 


     } 



- (void)endPageEdit:(UIGestureRecognizer *)sender 
{ 
     if (sender.view == self.view) { 
     [self.view endEditing:YES]; 
     if ([self isFormVisible]) { 
      [self handleTap:sender]; 
     } 
    } 

} 

ответ

0

В вашем endPageEdit: метод, скажите TextFields к resignFirstResponder.

- (void)endPageEdit:(UIGestureRecognizer *)sender { 

    // assumes you have an outlet set up for each of the textFields 
    [self.textFieldA resignFirstResponder]; 
    [self.textFieldB resignFirstResponder]; 

    if (sender.view == self.view) { 
     [self.view endEditing:YES]; 
     if ([self isFormVisible]) { 
      [self handleTap:sender]; 
     } 
    } 
} 

только ноль или один из них будет первым ответчиком, но нет недостатка в отставке первого ответчика, когда элемент управление не первый ответчик. Причина исчезновения представления должна иметь отношение к методу endEditing: или методу handleTap, который вы не опубликовали.

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

  • Нет связанных вопросов^_^