【问题标题】:Segue from Custom Cell (dynamic Prototype Cell)Segue 从自定义单元(动态原型单元)
【发布时间】:2014-09-28 09:11:33
【问题描述】:

我正在使用 Storyboard 创建我的 UI。 我有一个 SplitViewController。 MasterViewController 包含一个 TableViewController,我在其中使用自定义设计创建了一个 CustomCell。

单元格在我的数据中显示得非常好。 重点是:自定义单元格还包含一个信息按钮,应该弹出一个带有一些数据的 300x88 小 TableViewController。

如果我的 MasterViewController->TableViewController 中的单元格是静态单元格,我只需将 Segue 从 Info-Button 拖放到我的 Popup-TableViewController。

但遗憾的是,我无法使用动态原型单元来执行此操作...我只是收到错误消息:

无法编译连接...>>锚点>> UIButton...

那么我该如何实现呢?

亲切的问候。

【问题讨论】:

    标签: objective-c xcode ios7 storyboard segue


    【解决方案1】:

    定义一个手动转场,将整个主视图拖到详细视图上,然后将手动目标/操作添加到您的自定义信息按钮并在那里执行手动转场。当然你必须在 storyboard 中设置一个 segue 标识符,以便以后在代码中引用它,如果你忘记了,IB 会告诉你。

    【讨论】:

      【解决方案2】:

      您可以通过 View Controller 按钮连接所有这些 segue,而不是从单个单元格连接和创建 segue,该按钮位于故事板中您的视图下方。在这种情况下,您将有多个 segue,并且它们都不会单独连接到单元格。当 segues 准备好时,您可以使用此方法移动到下一个 View Controller,具体取决于从 tableView 中点击的单元格。

      [self performSegueWithIdentifier:@"yourSegue" sender:nil];
      

      您只需检查哪个单元格被点击,然后使用上面的代码和相应的 segue 标识符执行适当的 Segue on tap。 prepareForSegue方法会在这个方法被调用后立即被调用。

      请注意故事板中视图屏幕下方显示的黄色按钮。

      从那个按钮拖放一个segue到你想连接的视图控制器上。

      希望这会有所帮助。

      【讨论】:

      • 感谢您的两个回答:我将手动 Sague 从 MasterViewController 拖到了 Target-ViewController。 XCode 告诉我“没有 Anchor 的 Popover Segue”。我应该只在我的 MasterView 中定义一个隐藏的虚拟按钮,还是有更讲究的解决方案?亲切的问候
      • 使用动态单元格,您将不能锚定弹出框。因此,是的,您可以为此使用隐藏的 Button 逻辑。
      • 好的,它似乎“几乎”工作:D 我创建了一个隐藏按钮作为锚点。使用委托从 ViewController 执行 Segue。所有三种方法 button-action / performSegue / prepareSegue 都被解雇了。但是我的 Target-ViewController 没有出现。 (信息按钮变灰,因此“图层”似乎出现了,但不是“查看本身”)。亲切的问候
      • 在 TargetViewController 的 viewDidLoad 方法上放置一个断点,并检查它是真的去那里还是在源控制器本身的某个地方停止。
      • 这意味着它要去目标视图控制器并且那里有什么东西给它带来麻烦。继续单步执行viewDidLoad 方法,并在执行停止的位置进一步检查。并检查错误/崩溃日志(如果有)。
      猜你喜欢
      • 1970-01-01
      • 2019-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-17
      • 2014-11-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多