我正在关注这个教程http://www.appcoda.com/sidebar-menu-swift/并让它工作一次,但后来失去了它。我让它适用于TableViewController的MessagesTVC
,TVC,但现在它根本不起作用。相反,它现在显示一个随机的页面表视图页面,它内置'<返回'按钮但不是回来它说'<真正'。我不知道我是否更改了segues或代码。这就是我目前的方式:
所以我基本上希望在登录或注册之后有侧栏菜单以及之后的每个页面。 MessagesTVC
的代码是:
import UIKit
import Parse
import Bolts
class MessagesTVC: UITableViewController {
@IBOutlet weak var menuButton: UIBarButtonItem!
@IBAction func composeMessage(sender: AnyObject) {
//SIGN OUT ACTION FOR NOW...
PFUser.logOutInBackgroundWithBlock { (error: NSError?) -> Void in
self.navigationController?.popToRootViewControllerAnimated(true)
}
}
override func viewDidLoad() {
super.viewDidLoad()
if self.revealViewController() != nil {
menuButton.target = self.revealViewController()
menuButton.action = "revealToggle:"
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
}
// Uncomment the following line to preserve selection between presentations
// self.clearsSelectionOnViewWillAppear = false
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
override func viewWillAppear(animated: Bool) {
self.navigationController!.navigationBar.hidden = false
}
// MARK: - Table view data source
override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
// #warning Incomplete implementation, return the number of sections
return 0
}
override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// #warning Incomplete implementation, return the number of rows
return 0
}
}
除了支持文件组中的.h和.m文件之外,这是我唯一与侧边栏菜单有关的代码。基本上试图实现Facebook的感觉。
答案 0 :(得分:0)
确保
在VC viewdidload中添加此代码
SWRevealViewController *revealViewController = self.revealViewController;
if ( revealViewController )
{
[self.sidebarButton setTarget: self.revealViewController];
[self.sidebarButton setAction: @selector( revealToggle: )];
[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
在这里输入代码 }
答案 1 :(得分:0)
好的,所以我通过将它拆开并再次组合在一起来找出困难的方法。基本上我不需要从侧边栏菜单到除主视图控制器之外的任何东西。我将侧边栏菜单仅链接到主屏幕的导航控制器,并将其余部分连接起来。然后我添加了这个没有if语句的代码:
menuButton.target = self.revealViewController()
menuButton.action = "revealToggle:"
self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer())
self.view.addGestureRecognizer(self.revealViewController().tapGestureRecognizer())
在viewDidLoad()
方法中,它就像一个魅力。