Перемещение и существующий пользовательский интерфейс в UIScrollView - PullRequest
0 голосов
/ 29 октября 2010

У меня есть несколько XIB со всеми видами текстовых элементов управления (UITextFields, UITextViews).Поскольку клавиатура скрывает некоторые из этих текстовых элементов управления при запуске ввода текста, я следовал рекомендациям Apple по управлению контентом, расположенным под клавиатурой.

Короче говоря, решение включает в себя перемещение всех элементов интерфейса наUIScrollView.Делая это из Интерфейсного Разработчика, я просто добавляю UIScrollView в представление, делаю его размером представления, отправляю его обратно и связываю выходную ссылку со свойством представления владельца файла.

В IB это все выглядит нормальнои элементы пользовательского интерфейса появляются над UIScrollView.Однако, когда я запускаю программу, элементов пользовательского интерфейса нигде не найти.Однако их IBOutlets, похоже, инициализируются, поэтому похоже, что они действительно созданы.Я попытался установить альфа UIScrollView в 0, чтобы увидеть, если они находятся позади него, но я до сих пор не могу их найти.Новые элементы, которые добавляются в UIScrollView, тем не менее, похоже, работают нормально.

Это оставляет меня с не очень хорошей возможностью перестроить все мои xibs, где мне нужно сделать это изменение.Для меня это выглядит как ошибка Interface Builder.Что вы, ребята, думаете?

Ответы [ 3 ]

1 голос
/ 29 октября 2010

Ну, я нашел решение. Это выглядит так:

  1. Перетащите UISCrollView в главное окно IB (где у нас есть объекты Владелец файла и Первый ответчик).
  2. Масштабируйте его до размера исходного вида
  3. Перетащите все из исходного представления в представление прокрутки.
  4. Свяжите ссылочный выход представления прокрутки со свойством представления владельца файла.
  5. Удалить старый вид из главного окна IB.
0 голосов
/ 29 октября 2010

Я не знаю, действительно ли вам нужен UIScrollView.См. этот вопрос на SO , он перемещает родительское представление вверх.

0 голосов
/ 29 октября 2010

@ MihaiD * ​​1001 *

использовать tableview.contentOffset = CGPointMake (x, y);

...