【问题标题】:How to use same segue for multiple buttons in iOS swift?如何在iOS swift中对多个按钮使用相同的segue?
【发布时间】:2017-01-12 05:30:40
【问题描述】:

我的 iOS 应用程序中有大约 20 个按钮,它们连接到同一个 UIViewController。这是一个用 Swift 编写的游戏。为了实现这一点,我在 Storyboard 中为第一个按钮创建了一个 segue。对于其余按钮,我将它们附加到相同的 IBAction 方法并使用其 ID 调用上面创建的 segue。这种方法的问题是,对于第一个按钮应用程序尝试执行 segue 2 次,它会在日志中抛出错误说 UIView: 0x7f7fe9c84600;帧 = (0 0; 320 568);自动调整大小 = W+H; layer = CALayer: 0x7f7fe9c848d0>>'s window is not equal to TileGame.GameScreen: 0x7f7fe9dc6bc0>'s view's window!这不是一个可见的问题,但我想这不是正确的做事方式。此外,它还添加了不必要的日志记录。

下面是我的 IBAction 代码

@IBAction func action(_ sender: Any) {
    performSegue(withIdentifier: "segueToSecondScreen", sender: self)
}

有人对如何处理这个问题有建议吗?任何帮助表示赞赏。

【问题讨论】:

  • 可能你也有同样的问题。 stackoverflow.com/q/40002607/6433023
  • 使用手动 segue 并将所有 IBAction 连接到相同的方法
  • 大家好,非常感谢您的帮助。 @Arasuvel 下面的回答解决了我的问题。

标签: ios iphone swift xcode segue


【解决方案1】:

而不是为按钮创建一个 segue。您可以为ViewController 创建。

第一步:

第二步:

第三步:

为 segue 命名并使用这一个所有按钮操作。

【讨论】:

  • 非常感谢。这工作得很好。早些时候我也认为应该有一个并尝试从一个视图控制器到另一个视图控制器 ctrl+drag 但看起来视图控制器 ctrl+drag 在左侧的菜单列表中而不是在实际的情节提要中工作。总之,问题解决了。谢谢。 :)
  • @hellSigma:太好了。
  • 您也可以在情节提要中进行。控制从 ViewController 顶部的 ViewController 图标拖动到 Storyboard 中所需的 ViewController。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-18
  • 2023-03-18
相关资源
最近更新 更多