2015-11-04 2 views
2

У меня есть контроллер представления, который регистрирует для предварительного просмотра в методе viewDidLoad:Pick & поп-сила, сенсорный жест не работает иногда

- (void) viewDidLoad 
{ 
    [super viewDidLoad]; 

    if ([self.traitCollection respondsToSelector:@selector(forceTouchCapability)] && 
     (self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable)) 
    { 
     [self registerForPreviewingWithDelegate:self sourceView:self.view]; 
    } 
} 

но иногда заставить касание не распознается как если вид контроллера не был зарегистрирован для предварительного просмотра.

ответ

3

Проблема была при запуске приложения из состояния восстановления. Fix: место предварительных регистраций коды в viewWillAppear:

- (void) viewWillAppear:(BOOL)animated 
{ 
    [super viewWillAppear:animated]; 

    if ([self.traitCollection respondsToSelector:@selector(forceTouchCapability)] && 
     (self.traitCollection.forceTouchCapability == UIForceTouchCapabilityAvailable)) 
    { 
     [self registerForPreviewingWithDelegate:self sourceView:self.view]; 
    } 
} 

Когда viewDidLoad вызывается из состояния восстановления, выбор время является правильным для регистрации для просмотра.

+0

Doens't, похоже, не работает для меня. forceTouchCapability возвращает 0 –

 Смежные вопросы

  • Нет связанных вопросов^_^