简体   繁体   中英

How to enable the userinteraction only in the barbutton item of the navigation bar?

I have an application which is having the new Facebook App like UI. In that, a side menu controller is there. It has a button on the navigation bar while clicking on to it will give u the menu. But my problem is in the sample I am using the navigation bar is also can be movable, I fix this by setting userinteractionenabled=no in the navigation bar. But I need to enable the userinteraction only in the buttons in the navigation bar. If I do like what I did the whole navigation bar is became not clickable. Can anybody help me in achieving this?

If you have custom button then use this

UIBarButtonItem *button = self.navigationItem.rightBarButtonItem;
button.enabled = NO;

This is the code I use. It doesn't quite enable user interaction, but I figured out how to set the title white then when clicked change colors. (look at setTitleColor lines override func viewDidLoad() { super.viewDidLoad()

let handleButton = UIButton.init(type: .custom)
    button.setTitle("Register", for: .normal)
    button.layer.backgroundColor = CGColor.init(gray: 0.0, alpha: 0.0)
    button.setTitleColor(.white, for: .normal)
    button.setTitleColor(.red, for: .highlighted)
       button.layer.borderWidth = 1
       button.layer.cornerRadius = 5
       button.layer.borderColor = UIColor.white.cgColor
    self.navigationItem.rightBarButtonItem = UIBarButtonItem(customView: button)

    button.addTarget(self, action: #selector(didTapRegister), for: .touchUpInside)
    
    if let button = self.navigationItem.rightBarButtonItem?.customView {
        button.frame = CGRect(x:0, y:0, width:80, height:34)
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM