2015-08-07 3 views
-4
//For Navigation Bar Tint and BG Color 
var NavBarBGColor = CommonUtilities.RGBColor("#2574A9") 
var NavBarTintColor = UIColor.whiteColor() 

var pageViewController: UIPageViewController! 
var pageTitles: NSArray! 
var pageImages: NSArray! 

@IBOutlet weak var Open: UIBarButtonItem! 
override func viewDidLoad() { 
    //Navigation Bar Tint and BG Color 
    self.navigationController?.navigationBar.tintColor = NavBarTintColor 
    self.navigationController?.navigationBar.barTintColor = NavBarBGColor 

    super.viewDidLoad() 

    //Menu Button Click 
    Open.target = self.revealViewController() 
    Open.action = Selector("revealToggle:") 

    //Pan Gesture Recognizer for page navigation 
    self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 

    //Page View Controller for Men 
    self.pageTitles = NSArray(objects: "Try","And") 
    self.pageImages = NSArray(objects: "page1","page2") 

    self.pageViewController = self.storyboard?.instantiateViewControllerWithIdentifier("PageViewController") as! UIPageViewController 


    self.pageViewController.dataSource = self.pageViewController.dataSource 

    /*var startVC = self.viewControllerIndex(0) as ContentMenuViewController 
    var viewControllers = NSArray(object: startVC) 

    self.pageViewController.ViewControllers(viewControllers, direction: .Forward, animated: true, completion: nil)*/ 

    self.pageViewController.view.frame = CGRectMake(0, 30, self.view.frame.width, self.view.frame.size.height - 60) 

    self.addChildViewController(self.pageViewController) 
    self.view.addSubview(self.pageViewController.view) 
    self.pageViewController.didMoveToParentViewController(self) 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 


} 
@IBAction func MenuRestartBtn(sender: AnyObject) { 
} 

func viewControllerAtIndex(index: Int) -> ContentMenuViewController 
{ 
    if ((self.pageTitles.count == 0)) || (index >= self.pageTitles.count) 
    { 
     return ContentMenuViewController() 
    } 

    var vc: ContentMenuViewController = self.storyboard?.instantiateViewControllerWithIdentifier("") as! ContentMenuViewController 


    vc.imageFile = self.pageImages[index] as! String 
    vc.titleText = self.pageTitles[index] as! String 
    vc.pageIndex = index 

    return vc 
} 

// Page View Controller Data Source Func pageViewController (pageViewController: UIPageViewController, viewControllerAfterViewController ViewController: UIViewController) -> UIViewController? { var vc = viewController as! ContentMenuViewController индекс вар = vc.pageIndex, как Intтипа Привет Swift не соответствует протоколу NilliteralConvertible

if (index == 0 || index == NSNotFound) 
    { 
     return nil 
    } 

    index-- 
    return self.viewControllerAtIndex(index) 

    } 

FUNC pageViewController (PageController: UIPageViewController, ViewControllerAfterViewController ViewController: UIViewController) -> UIViewController {

var vc = viewController as! ContentMenuViewController 
var index = vc.pageIndex as Int 

if (index == NSNotFound){ 
    return nil; 
} 

index ++ 
if (index == self.pageTitles.count){ 
    return nil 
} 


return self.viewControllerAtIndex(index) 

}

func presentationCountForPageViewController(pageViewController: UIPageViewController) -> Int { 
    return self.pageTitles.count 

}

func presentationIndexForPageViewController(pageViewController: UIPageViewController) -> Int { 
return 0 

} }

+0

Пожалуйста, опишите Ваш вопрос четко. – toofani

+0

sorry..if (индекс == NSNotFound) { возврат ноль // Тип 'UIViewController' не соответствует протоколу 'NilLiteralConvertible'} индекс ++ если (индекс == self.pageTitles.count) { возврат ноль // Тип 'UIViewController' не соответствует протоколу '' NilLiteralConvertible } – RH34Serenity

+0

класса ViewController: UIViewController, UIPageViewControllerDataSource {/// Тип 'ViewController' не соответствует протоколу '' UIPageViewControllerDataSource – RH34Serenity

ответ

-1

Вы не можете вернуть ноль, когда функция должна возвращать UIViewController Wich вы пытаетесь сделать в:

func pageViewController(pageController: UIPageViewController, ViewControllerAfterViewController viewController: UIViewController) -> UIViewController 

Заменить выше:

func pageViewController(pageController: UIPageViewController, ViewControllerAfterViewController viewController: UIViewController) -> UIViewController? 
Смежные вопросы