作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最佳答案
我会有这样的 Storyboard:
在登录 View Controller 中:
@IBAction func skip(_ sender: Any) {
// Show dashboard
let sb = UIStoryboard(name: "Main", bundle: nil)
let controller = sb.instantiateViewController(withIdentifier: "DashboardNavigationController")
revealViewController().setFront(controller, animated: true)
}
@IBAction func validateUser(_ sender: Any) {
// show profile
// Here test for valid user name and password
// If OK
let sb = UIStoryboard(name: "Main", bundle: nil)
let dashboardNC = sb.instantiateViewController(withIdentifier: "DashboardNavigationController") as! UINavigationController
let profileVC = sb.instantiateViewController(withIdentifier: "ProfileViewController")
dashboardNC .pushViewController(profileVC, animated: false)
revealViewController().setFront(dashboardNC, animated: true)
}
@IBAction func dismissKeyboard(_ textField: UITextField) {
textField.resignFirstResponder()
}
在 MenuTableViewController(侧边菜单)中:
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
// ...
let dashboardNC = revealViewController().frontViewController as! UINavigationController
let nc = revealViewController().frontViewController as! UINavigationController
let vc = nc.topViewController
if !(vc is ProfileViewController) {
// Instantiate controller from story board
let sb = UIStoryboard(name: "Main", bundle: nil)
let controller = sb.instantiateViewController(withIdentifier: "ProfileViewController")
dashboardNC.pushViewController(controller, animated: false)
}
// Push it with SWRevealViewController
revealViewController().pushFrontViewController(dashboardNC, animated: true)
}
仪表板 View Controller :
class DashboardViewController: UIViewController {
@IBOutlet weak var revealButton: UIBarButtonItem!
@IBOutlet weak var rightButton: UIBarButtonItem!
override func viewDidLoad() {
super.viewDidLoad()
revealButton.target = revealViewController()
revealButton.action = #selector(SWRevealViewController.revealToggle(_:))
rightButton.target = revealViewController()
rightButton.action = #selector(SWRevealViewController.rightRevealToggle(_:))
revealViewController().tapGestureRecognizer()
revealViewController().panGestureRecognizer()
revealViewController().rearViewRevealOverdraw = 0
revealViewController().rightViewRevealOverdraw = 0
}
不是 Objective-C,但您可以轻松翻译!
关于ios - 我如何在 ios 的 swreveal View Controller 中推送弹出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40814929/
我是一名优秀的程序员,十分优秀!