UIScrollView не будет реагировать на AutoResizing

У меня есть UIScrollView, который является подвидом на моем контроллере представления, в этом представлении прокрутки у меня есть UIView сверху (синий квадрат) и UITableView внизу (светло-серый квадрат). У меня также есть UIView, который действует как NavigationBar (темно-синяя полоса), он находится за пределами прокрутки.

Иерархия контроллера представления:

- view
  - UINavigationBar
  - UIView (as navigation bar)
  - UIScrollView
    - UIView
    - UITableView

Моя проблема в том, что что-то толкает скроллер UIScrollView вниз, но UIScrollView y находится там, где он должен быть, я не знаю, что вызывает это, также пробовал каждую комбинацию масок AutoResizing, но безуспешно, он просто не будет двигаться. Я также отменил AutoResizingSubviews и установил для AutoResizingMask значение UIViewAutoResizingNone.

На картинке вид прокрутки прокручивается до самого верха, вы можете видеть, что сам скроллер расположен вниз от верха прокрутки. также у меня есть запаска внизу точно по размеру набивки сверху.

Что я могу сделать, чтобы это исправить?

прокрутка


person Yossi Tsafar    schedule 16.12.2013    source источник


Ответы (1)


В iOS 7 и xcode 5 есть новое свойство для контроллера представления, которое выполняет такое действие, если вы не хотите видеть, что вам нужно снять флажок с этого свойства, и тогда прокрутка будет работать нормально. введите здесь описание изображения

В разделе макета снимите флажок «Настроить вставки прокрутки», и все будет работать нормально.

Обновление: используйте этот код.

self.edgesForExtendedLayout=UIRectEdgeNone;
self.extendedLayoutIncludesOpaqueBars=NO;
self.automaticallyAdjustsScrollViewInsets=NO;
person Shabir jan    schedule 16.12.2013
comment
Я не использую раскадровки. - person Yossi Tsafar; 24.12.2013
comment
Да, но без раскадровки. В xib я не вижу эту опцию. - person Yossi Tsafar; 24.12.2013