Не может коснуться UITextField UIScrollView

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

Я плохо знаком с разработкой, но у меня есть хорошее чувство того, что продолжает весь мой код. У меня определенно нет большого опыта, хотя, это - мое первое приложение для iPhone.

Я делаю поле ввода данных, которое состоит из нескольких UITextFields в UIScrollView. Я постараюсь не объяснять другие детали на данный момент, поскольку кажется, что это - очень простая проблема. Без scrollview текстовые поля работают отлично. Я могу коснуться текстового поля, и представление клавиатуры или средства выбора обнаруживаются соответственно. Когда я добавляю текстовые поля к scrollview, работам scrollview, но затем текстовые поля не получают мои касания.
Вот ключ: Когда 'Взаимодействие с пользователем' ВКЛЮЧЕНО, работы scrollview, но касания текстового поля НЕ регистрируются. Когда 'Взаимодействие с пользователем' ОТКЛЮЧЕНО, scrollview не работает, но касания текстового поля регистрируются, и клавиатура/средство выбора открывается.

Из других сообщений я видел, что люди создают подклассы и переопределяют касания в отдельной реализации. Я видел, что люди используют пользовательские представления содержания (подпредставления?), я видел некоторые решения, которые являются теперь устаревшими, так как API изменились в более новых версиях SDK, и я просто полностью застреваю.

Я не учту свой код на данный момент, потому что, возможно, существует решение, которое кто-то имеет, не требуя моего кода. Если кто-то должен видеть мой код, я подниму его. Мое приложение пишется в 3.1.3 SDK.

Если у кого-либо будет информация, которая могла бы помочь, то она будет так сильно цениться.

7
задан Chris B 21 April 2010 в 04:46
поделиться

1 ответ

Похоже, вы используете IB для большей части макета пользовательского интерфейса. Если вы выберете программный подход, вы можете настроить следующую иерархию представлений, которая должна работать.

Ваш объект контроллера представления, управляющий представлением прокрутки и текстовыми полями, должен иметь объект UIScrollView и объект UIView (в дополнение к любым объектам UITextField , которые вы необходимость). В методе loadView класса контроллера представления выделите и инициализируйте объект UIView и добавьте к нему текстовые поля в качестве подпредставлений. В конце метода выделите и инициализируйте объект UIScrollView , затем добавьте UIView в UIScrollView в качестве подпредставления.

В качестве примера, если ваш объект UIScrollView назывался scrollView, а ваш объект UIView - mainView, следующие строки в конце метода loadView контроллера представления правильно настроили бы прокрутку. представление с основным представлением с текстовыми полями на нем:

scrollView = [[UIScrollView alloc] initWithFrame: [[UIScreen mainScreen] bounds] ];
scrollView.backgroundColor = [UIColor whiteColor];
scrollView.contentSize = mainView.frame.size;
[scrollView addSubview: mainView];
self.view = scrollView;
0
ответ дан 7 December 2019 в 09:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: