我正在使用 MMDrawerController 在我的 iOS 应用程序中创建一个侧边栏,我已经成功地实现了它,但是我试图在侧边栏显示时减少中心 View 的 alpha,正如您通常在大多数具有类似功能的应用程序上看到的那样, 但是我收到了错误
Type of expression is ambiguius without more context
这是我的 AppDelegate 中的代码,visualstateblock 部分抛出错误
func buildNavigationDrawer()
{
// Instantiate Main.storyboard
let mainStoryBoard:UIStoryboard = UIStoryboard(name:"Main", bundle:nil)
// Create View Controllers
let mainPage:TabBarViewController = mainStoryBoard.instantiateViewController(withIdentifier: "TabBarViewController") as! TabBarViewController
let rightSideMenu:HomeSideMenuViewController = mainStoryBoard.instantiateViewController(withIdentifier: "HomeSideMenuViewController") as! HomeSideMenuViewController
// Wrap into Navigation controllers
let rightSideMenuNav = UINavigationController(rootViewController:rightSideMenu)
// Cerate MMDrawerController
drawerContainer = MMDrawerController(center: mainPage, rightDrawerViewController: rightSideMenuNav)
//drawerContainer!.openDrawerGestureModeMask = MMOpenDrawerGestureMode.PanningCenterView
drawerContainer!.closeDrawerGestureModeMask = MMCloseDrawerGestureMode.panningCenterView
drawerContainer!.setDrawerVisualStateBlock { (drawerContainer, rightSideMenuNav) in
drawerContainer!.centerViewController.view.alpha = 0.3;
}
// Assign MMDrawerController to our window's root ViewController
window?.rootViewController = drawerContainer
}
谢谢你的帮助
最佳答案
在setDrawerVisualStateBlock
中,返回的MMDrawerController
不是可选的,但仍然有一个force wrapper !
在它后面
这是告诉编译器从上一行(您创建的行)中获取可选值
要解决这个问题,要么更改其中一个变量名称,要么使用它:
drawerContainer?.setDrawerVisualStateBlock { $0.0.centerViewController.view.alpha = 0.3 }
关于ios - 减少中心屏幕 alpha 时出现 MMDrawerController 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45582824/