2014-09-21 2 views
4

В моем приложении я создал календарь, который в основном состоит из UIScrollView, содержащего некоторые ячейки (пользовательский UIControl) для каждого дня, верхний заголовок, содержащий некоторые метки (Mon, Tue, Wed ...) и, очевидно, некоторые разделители (UIView толщиной 1px).Мой UIScrollView (содержащий некоторые UIControls) больше не прокручивается в iOS 8

Все работает отлично на iOS 7, я смог выбрать ячейки, нажав их (я использую событие UIControlEventTouchUpInside, чтобы их выбрать) и перетащить вычисленное прокрутку для отображения предыдущего или следующего месяца.

Но поскольку я перешел на iOS 8 и скачал Xcode 6, он больше не работает. На самом деле я все еще могу выделить ячейки, но scrollview не прокручивается (кроме случаев, когда я перетаскиваю его из заголовка или разделителя, которые являются базовыми UIView без управления событиями касания).

Il Я начинаю перетаскивать прокрутку из ячейки, она остается неподвижной.

Я ничего не изменилось, так что я не понимаю, почему он больше не работает ...

Пожалуйста, помогите мне !! :)

Большое спасибо

PS: Я за мой плохой английский

ответ

4

EDIT французский, извините: с прошивкой 8.1 поведение кажется, похоже на поведение, прежде чем прошивкой 8.0, так что Apple, возможно, 'починил это. Поэтому ответ ниже не нужен больше.


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

Одна вещь, которую я сделал, это подкласс UIScrollView и перезаписать touchesShouldCancelInContentView

- (BOOL) touchesShouldCancelInContentView:(UIView *)view { 
    return YES; 
} 

Смотрите также https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIScrollView_Class/index.html

Возвращаемое значение: YES, чтобы отменить дальнейшее сенсорными сообщения, чтобы просмотреть, NO, чтобы иметь вид продолжить для получения этих сообщений. Возвращаемое по умолчанию значение равно YES, если view не является объектом UIControl; в противном случае он возвращает NO.

+0

О, спасибо большое, что исправил мою проблему !! Слишком плохо, что реализация по умолчанию возвращает NO, это сэкономит много времени ... –

+0

@Thomas Glad I облачная помощь. Если он решает вашу проблему, пожалуйста, примите мой ответ (установите зеленый галочку, см. Http://meta.stackexchange.com/a/5235) – marcus

+0

Спасибо, это избавило меня от пробки –