【问题标题】:how to use label instead of button in prepareforsegue in swift如何在swift中的prepareforsegue中使用标签而不是按钮
【发布时间】:2015-11-23 13:29:02
【问题描述】:

在我的应用程序中,您在 textField 中输入 integerviewcontroller1 中。如果integer 大于100,屏幕上会弹出一个标签,当你点击它时,你会转到viewcontroller2viewcontroller2viewcontroller3 重复相同的内容。

但是我希望viewcontroller1 中的整数显示在viewcontroller3 中的另一个label 中,然后我学会了使用prepareforsegue 来做到这一点。

现在我的问题是,我的prepareforsegue 仅在我使用button 时才有效,似乎我无法连接我的标签,您单击以转到viewcontroller 作为segue 连接? (这可能吗? 如果没有,我该怎么做才能保留我的标签,但我的button 现在是这样,所以我的prepareforsegue 工作正常。

【问题讨论】:

  • 你真的想点击一个特定的 UI 元素来切换到另一个视图控制器还是仅仅选择单元格就足够了?如果选择单元格就足够了,则将 segue 连接到表格视图单元格(而不是视图控制器),prepareForSegue 中的 sender 参数是选定的 UITableViewCell 实例。
  • 在情节提要中给你的 segue 一个标识符,然后在标签单击或点击方法上使用 performSegueWithIdentifier("identifier", sender: self)。这样即使在点击标签时也会调用 prepareForSegue(注意:应在标签上启用 userInteraction)
  • @harshayarabarla 你如何将该代码准确地放入我的标签点击:func handleTap(gestureRecognizer: UIGestureRecognizer) { let storyboard = UIStoryboard(name: "Main", bundle: nil) let vc: AnyObject! = storyboard.instantiateViewControllerWithIdentifier("nextlevelnow") self.presentViewController(vc as! UIViewController, 动画: true, 完成: nil)
  • @Frederic 首先在故事板中给 segue 一个标识符,然后用 self.performSegueWithIdentifier("identifier", sender: self) 替换 self.presentViewController(vc as! UIViewController, animated: true, completion: nil)
  • 按钮除了对用户交互做出反应的标签之外,还有什么意义?

标签: ios swift


【解决方案1】:

标签不是 UIControl 元素,因此它本身无法识别触摸事件。您需要将 tapGestureRecognizer 附加到标签(确保在标签上启用用户交互)。然后,您可以将手势识别器附加到您的 @IBAction 方法或触发 segue。如果使用 IB,手势识别器的引用出口连接应绑定到标签。

【讨论】:

    【解决方案2】:

    首先在情节提要中给 segue 一个标识符,然后在标签单击或点击方法上使用 performSegueWithIdentifier("identifier", sender: self)。这样即使在点击标签时也会调用 prepareForSegue(注意:应在标签上启用 userInteraction) 在您的代码中将 self.presentViewController(vc as! UIViewController, animated: true, completion: nil) 替换为 self.performSegueWithIdentifier("identifier", sender: self)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-03
      • 1970-01-01
      • 1970-01-01
      • 2020-08-17
      相关资源
      最近更新 更多