如何滑出侧面菜单栏?在斯威夫特

时间:2017-01-19 17:27:29

标签: ios swift xcode swift3

向左滑动时如何滑出侧面菜单栏?当我点击collectionView时它会如何自动滑出?我正在使用tableView和约束,我对该约束的出口是rightMargin。

import UIKit
import ViewPagerController

class OptionTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

    @IBOutlet weak var rightMargin: NSLayoutConstraint!
    @IBOutlet weak var optionTableView: UITableView!

let option = ["LOG IN","SIGN UP","EDIT PROFILE", "LOG OUT"]
let storyBoardId = ["LogInViewController","SignUpViewController","UserEditPageViewController", "None"]

override func viewDidLoad() {
    super.viewDidLoad()

  var appearance = ViewPagerControllerAppearance()
  appearance.tabMenuAppearance.backgroundColor = UIColor.black

    let screenWidth = UIScreen.main.bounds.width
    rightMargin.constant = screenWidth
}
 override func viewDidAppear(_ animated: Bool) {

    super.viewDidAppear(animated)
    self.rightMargin.constant = 100

    UIView.animate(withDuration: 0.3 , animations: {
           self.view.layoutIfNeeded()
   })
}
override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()

}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return option.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

      let cell = optionTableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
    cell.textLabel?.text = option[indexPath.row]
    cell.textLabel?.font = UIFont(name: "Arial", size: 10)
        return cell
}

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    if let logInViewController = storyboard?.instantiateViewController(withIdentifier: storyBoardId[indexPath.row]) {
        navigationController?.pushViewController(logInViewController, animated: true)
    }
}
}

SlideInMenu

1 个答案:

答案 0 :(得分:0)

这些将让您滑动以打开自己的选项。

override func tableView(tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool {
    return true
}

override func tableView(_ tableView: UITableView, editActionsForRowAt: IndexPath) -> [UITableViewRowAction]? {
let more = UITableViewRowAction(style: .normal, title: "More") { action, index in
    print("more button tapped")
}
more.backgroundColor = .lightGray

let favorite = UITableViewRowAction(style: .normal, title: "Favorite") { action, index in
    print("favorite button tapped")
}
favorite.backgroundColor = .orange

let share = UITableViewRowAction(style: .normal, title: "Share") { action, index in
    print("share button tapped")
}
share.backgroundColor = .blue

return [share, favorite, more]
 }