2016-05-07 9 views
0

Я пытаюсь реализовать поддержку подглядывания и поп-музыки для статического представления таблицы. Я был успешным, чтобы получить peek и pop, чтобы на самом деле работать, но prepareForSegue не вызывается, когда смотрит на камеру.prepareForSegue, не будучи вызванным подглядыванием

// MasterPreviewing.swift 
import UIKit 

extension ThemesViewController: UIViewControllerPreviewingDelegate { 
func previewingContext(previewingContext: UIViewControllerPreviewing, viewControllerForLocation location: CGPoint) -> UIViewController? { 
    guard let viewController = self.storyboard?.instantiateViewControllerWithIdentifier("ThemesPreviewStoryboard") as? ThemePreviewViewController else { return nil } 

    viewController.preferredContentSize = CGSize(width: 376, height: 668) 

    return viewController 
    } 

func previewingContext(previewingContext: UIViewControllerPreviewing, commitViewController viewControllerToCommit: UIViewController) { 
    showViewController(viewControllerToCommit, sender: self) 
    } 
} 

-

// ThemesViewController.swift 
import UIKit 
override func viewDidLoad() { 
    super.viewDidLoad() 

    for cell in cells { 
     if traitCollection.forceTouchCapability == .Available { 
      self.registerForPreviewingWithDelegate(self, sourceView: cell) 
     } 
    } 

} 

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 

    print("prepareForSegue called") 

} 

Любая помощь будет оценена.

+1

Вы не выполняете segue, так зачем вызывать 'prepareForSegue' b? – Paulw11

+0

Прежде чем я переключился на это программно, я включил Peek и Pop прямо из раскадровки. Оказывается, prepareForSegue вызывается только при включении Peek и Pop через раскадровки. @ Paulw11 –

+0

Это правильно, потому что тогда вы используете заглядывание segue – Paulw11

ответ

0

Оказалось, что prepareForSegue вызывается только при настройке Peek and Pop с использованием раскадровки. Я поместил свой код в MasterPreviewing.swift, и теперь все кажется хорошим!