2016-11-19 37 views
0

我有使用SWRevealViewController的前视图和后视图。 我是新来的(SWRevealViewController)。
当我在前视图中点击导航菜单按钮时,我想要完整的后视图,但它不会到来。
我试过了,但我的后视最右边的按钮没有显示。 有没有什么问题,或者我需要添加一些额外的东西。
这里是我的代码: -
前视图: -SWRevealViewController后视图宽度未完全显示

class HomeViewController: UIViewController,SWRevealViewControllerDelegate { 

@IBOutlet weak var openSlideMenuView: UIBarButtonItem! 

override func viewDidLoad() { 
    super.viewDidLoad() 


    if self.revealViewController() != nil { 

     openSlideMenuView.target = self.revealViewController() 
     openSlideMenuView.action = #selector(SWRevealViewController.revealToggle(_:)) 

     self.navigationController?.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 
    } 

} 

感谢

回答

0

在我的环境我用UserDefault设置这两个功能,这些功能在我mainViewController。

如果这是你正在寻找的答案不要忘记除了答案。

func changeShadow(){ 
    let defaults: UserDefaults = UserDefaults.standard 
    let shadowColor    = defaults.object(forKey: "shadowColorID") as? Int 
    if shadowColor == 1 { 
     revealViewController().frontViewShadowColor = UIColor.red 
    }else if shadowColor == 2{ 
     revealViewController().frontViewShadowColor = UIColor.blue 
    }else if shadowColor == 3{ 
     revealViewController().frontViewShadowColor = UIColor.green 
    } 
} 


func changeReveal(){ 
    let defaults: UserDefaults = UserDefaults.standard 
    let revealWidth    = defaults.object(forKey: "widthID") as? Int 
    if revealWidth == 1 { 
     revealViewController().rightViewRevealWidth = (view.frame.width/5*4) 
    }else if revealWidth == 2{ 
     revealViewController().rightViewRevealWidth = (view.frame.width/6*5) 
    }else if revealWidth == 3{ 
     revealViewController().rightViewRevealWidth = (view.frame.width/7*6) 
    }else if revealWidth == 4{ 
     revealViewController().rightViewRevealWidth = (view.frame.width/8*7) 
    }else if revealWidth == 5{ 
     revealViewController().rightViewRevealWidth = (view.frame.width) 
    } 
} 

看着你SWRevealViewController.h这条线241

// Defines how much of the rear or right view is shown, default is 260. 
// Negative values indicate that the reveal width should be computed by substracting the full front view width, 
// so the revealed frontView width is kept constant when bounds change as opposed to the rear or right width. 
@property (nonatomic) CGFloat rearViewRevealWidth; 
@property (nonatomic) CGFloat rightViewRevealWidth; // <-- simetric implementation of the above for the rightViewController 

// Defines how much of an overdraw can occur when dragging further than 'rearViewRevealWidth', default is 60. 
@property (nonatomic) CGFloat rearViewRevealOverdraw; 
@property (nonatomic) CGFloat rightViewRevealOverdraw; // <-- simetric implementation of the above for the rightViewController 

// Defines how much displacement is applied to the rear view when animating or dragging the front view, default is 40. 
@property (nonatomic) CGFloat rearViewRevealDisplacement; 
@property (nonatomic) CGFloat rightViewRevealDisplacement; // <-- simetric implementation of the above for the rightViewController 
+0

没有我要求,在我的后面按钮最右边的按钮没有显示。 如果rearViewRevealWidth = self.view.frame.width – kishor0011

+0

我不确定您的后方VC如何设置或布局。也许重置约束。 – dscrown

+0

好的,谢谢,我会尝试 – kishor0011