类型'CASPageMenu'的值有没有成员'currentPageIndex'

问题描述:

我是一个初学者,其次是开源框架正在做,但这一步并不知道问题出在哪里。类型'CASPageMenu'的值有没有成员'currentPageIndex'

public class CAPSPageMenu: UIViewController, UIScrollViewDelegate, UIGestureRecognizerDelegate { 
    ... 
    var currentPageIndex : Int = 0 
    ... 
} 

var pageMenu : CAPSPageMenu? 
func didTapGoToLeft() { 
    var currentIndex = pageMenu!.currentPageIndex # error 

    if currentIndex > 0 { 
     pageMenu!.moveToPage(currentIndex - 1) 
    } 
} 

错误消息:类型的值 'CASPageMenu' 没有成员 'currentPageIndex'

感谢

您必须初始化pageMenu,否则它不知道它将有多少页。

你写的线还不够:

var pageMenu : CAPSPageMenu? 

之后,你有写:

var pageMenu : CAPSPageMenu? 

override func viewDidAppear(animated: Bool) {    
    super.viewDidAppear(animated) 

viewDidAppear可以补充一点:

// MARK: - Scroll menu setup 

// Initialize view controllers to display and place in array 
var controllerArray : [UIViewController] = [] 
let controller1 : UIViewController! = UIViewController() 
controller1.title = "TEST1" 
controllerArray.append(controller1) 
let controller2 : UIViewController! = UIViewController() 
controller2.title = "TEST2" 
controllerArray.append(controller2) 
// Initialize scroll menu 
// Customize menu (Optional) 

let parameters: [CAPSPageMenuOption] = [.ScrollMenuBackgroundColor(UIColor(red: 30.0/255.0, green: 30.0/255.0, blue: 30.0/255.0, alpha: 1.0)),.ViewBackgroundColor(UIColor(red: 20.0/255.0, green: 20.0/255.0, blue: 20.0/255.0, alpha: 1.0)), 
      .SelectionIndicatorColor(UIColor.orangeColor()), 
      .BottomMenuHairlineColor(UIColor(red: 70.0/255.0, green: 70.0/255.0, blue: 80.0/255.0, alpha: 1.0)), 
      .MenuItemFont(UIFont(name: "HelveticaNeue", size: 13.0)!), 
      .MenuHeight(40.0), 
      .MenuItemWidth(90.0), 
      .CenterMenuItems(true) 
] 
pageMenu = CAPSPageMenu(viewControllers: controllerArray, frame: CGRectMake(0.0, 0.0, self.view.frame.width,self.view.frame.height), pageMenuOptions: parameters) 
self.addChildViewController(pageMenu!) 
self.view.addSubview(pageMenu!.view) 
pageMenu!.didMoveToParentViewController(self) 

现在当你didTapGoToLeft() pageMenu确切地知道他目前的页面,总页数,上一页和下一页要去哪里..

更换:

var pageMenu : CAPSPageMenu? 
func didTapGoToLeft() { 
    var currentIndex = pageMenu!.currentPageIndex # error 

    if currentIndex > 0 { 
     pageMenu!.moveToPage(currentIndex - 1) 
    } 
} 

有了:

func didTapGoToLeft() { 
    if let currentIndex = CAPSPageMenu.currentPageIndex { 
     if currentIndex > 0 { 
      self.moveToPage(currentIndex - 1) 
     } 
    } 
} 

看看它现在的作品。