SWRevealViewController后视图宽度未完全显示

时间:2016-11-19 10:28:06

标签: ios swift swrevealviewcontroller xcode8.1

我有一个使用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())
    }

}  

由于

1 个答案:

答案 0 :(得分: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