ios - UIBarButton 单击以使用 Swift 4.2 设置标志值
问题描述
我的场景,我有两个UIBarButton
动作method
,在这里,每当我单击Done
和Cancel
按钮时,我都会移动到另一个ViewController
。一旦用户单击完成barbutton
,我需要设置一些标志值并验证另一个 ViewController 是否已button
单击。
我的视图控制器一
let barButtonItem = UIBarButtonItem(image: UIImage(named: "backImgs"),
style: .plain,
target: self,
action: #selector(menuButtonTapped))
self.navigationItem.rightBarButtonItem = barButtonItem
@objc fileprivate func menuButtonTapped() { // here I need to set flag value }
我的视图控制器二
class ViewControllertwo: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
//Here need to validate flag values to button clicked or not
}
}
解决方案
我部分理解您的问题,在这里您需要了解tag
概念,例如
override func viewDidLoad() {
super.viewDidLoad()
let barButtonItem = UIBarButtonItem(image: UIImage(named: "backImgs"),
style: .plain,
target: self,
action: #selector(menuButtonTapped(_:)))
barButtonItem.tag = 20
let cancelButton = UIBarButtonItem(barButtonSystemItem: .cancel, target: self, action: #selector(menuButtonTapped(_:)))
cancelButton.tag = 10
self.navigationItem.rightBarButtonItem = barButtonItem
self.navigationItem.leftBarButtonItem = cancelButton
}
处理你的目标函数就像
@objc fileprivate func menuButtonTapped(_ sender: UIBarButtonItem) {
// if you dont want the tag concept, use title property for check which button tapped //print("get Tapped button title == \(sender.title)")
//if sender.tag == 20{
// clicked for another VC button, add your segue code here
// }else{
// pressed cancel button
// }
let vcTwo = self.storyboard?.instantiateViewController(withIdentifier: "ViewControllertwo") as! ViewControllertwo
vcTwo.getSelectedTag = sender.tag
self.navigationController?.pushViewController(vcTwo, animated: true)
}
在您的 VC2 上创建一个全局 Int 以获取其来源的标签,
** 视图控制器二**
class ViewControllertwo : UIViewController {
var getSelectedTag = 0
override func viewDidLoad() {
super.viewDidLoad()
if getSelectedTag == 20 {
//pressed menu Tapped
}
}
}
推荐阅读
- java - JFrame 不是我设置的大小
- ruby-on-rails - 我们如何在多重关系中使用或调节
- dictionary - 从下面的字典中获取最小值对应的key
- json - 使用 Django 向外部 Rest 服务发布请求 - 使用返回的 json 更新模型
- python - 使用基于 @propert 的 attr 作为模型 slug,django 的视图?
- python - 在我的脚本中添加 request.meta 的位置以抓取一次
- java - java中nextFloat的问题
- python - 从python返回和读取lambda函数的错误
- python-3.x - MPC 数组的 NumPy 指数
- git - Bitbucket 工作流程