Я имею текстовое поле, которое оказывает иерархию какПоложение UITextField со ссылкой на его 7 надтаблицы
self.view-> Tableview-> contentview-> anotherview-> MyTextField.
Я хочу получить y позицию MyTextField со ссылкой на self.view.
Мое требование:
Всякий раз, когда я нажимаю на текстовом поле, я открываю свою клавиатуру, если текстовое поле находится под моей клавиатурой (который я буду проверять, сравнивая кадр MyTextField
со ссылкой на self.view
), то я буду (если MyTextField
не находится под моей клавиатурой), тогда мне не нужно менять рамку.
Я пытаюсь использовать следующий метод, но не знаю, как точно реализовать это.
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
UIView *aView = textField.superview.superview.superview.superview.superview.superview.superview;
NSLog(@"%@",[aView class]);
CGRect textFieldRect = [textField convertRect:textField.frame fromView:aView];
NSLog(@"View: %@",NSStringFromCGRect(textFieldRect));
return YES;
}
Проверьте это [ссылка] [1] для решения вашей проблемы [1]: http://stackoverflow.com/questions/11696508/how-to-convert-subviews-frame-coordinate-system -to-self-views-coord-syste – nik
И еще один полезный ответ http://stackoverflow.com/questions/5407416/iphone-set-subviews-frame-outside-of-superviews-bound – nik
@nik Вы можете щелкнуть _help_ рядом с кнопкой _Add Comment_, чтобы увидеть форматирование комментария. – Desdenova