为什么在uiTableViewController中scrollViewWillBeginDragging不起作用?

时间:2014-06-02 08:50:53

标签: ios scrollview uitableview

在文件中.h我有:

@protocol VVInformationTableViewControllerDelegate;

@interface VVInformationTableViewController : UITableViewController <UITextFieldDelegate, UIGestureRecognizerDelegate, UIPickerViewDataSource, UIPickerViewDelegate, UITableViewDelegate>

@property (strong, nonatomic) VVUser* currentAttendee;

@property (weak, nonatomic) id<VVInformationTableViewControllerDelegate> delegate;

在档案.m:

在viewDidLoad中:

self.tableView.delegate = self;

我有方法:

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
    [self dismissKeyboard];
    NSLog(@"HEJ");
}

但是当我拖动我的tableView时(无论键盘是否显示),这种方法都不起作用。我找了这个问题,但我找不到。

编辑: 我在parentViewController中创建了这个(scrollViewWillBeginDragging)方法,它可以工作。但是当我在parentViewController [self.infoTableView dismissKeyboard](VVInformationTableViewController作为childViewController)中调用此方法时,它在childView中它没有工作。例如,如果我尝试使用dismissKeyboard:

- (void)dismissKeyboard {
    [self.textField resignFirstResponder];
    NSLog(@"%@", self.textField.text);
}
在childView中的

然后NSLog中的self.textField.text很好,但是当我尝试在parentView中调用它然后它是nil时,所以这个文本字段上的resignFirstResponder不起作用。

我使用childViewController的.h中的方法dismissKeyboard制作协议,并且:

-(void)textFieldDidBeginEditing:(UITextField *)textField{
    self.textField = textField;
    self.tableView.scrollEnabled = NO;
}

0 个答案:

没有答案