在 Xamarin.iOS 中使用 UITableViewCell 展开 Segue

Posted

技术标签:

【中文标题】在 Xamarin.iOS 中使用 UITableViewCell 展开 Segue【英文标题】:Unwind Segue with UITableViewCell in Xamarin.iOS 【发布时间】:2014-05-03 21:38:06 【问题描述】:

有人可以明确告诉我使用 Unwind SeguesUITableViewCell 是否有限制,或者如果没有如何实现这一点?

我可以成功实现从第二个视图控制器到第一个视图控制器的展开转场 - 使用简单的 UIButton 触发。

但是,当我尝试使用 UITableViewCell 创建展开转场(从 TableViewCell 拖动到绿色的退出图标时,我没有看到 Action Segue 的选项。而是我有“Selection Segue”“Accessory Action”的选项。

如何在选择 UITableViewCell 时触发展开转场?

【问题讨论】:

【参考方案1】:

Selection segue 将在您选择单元格时触发。 附件操作会在您点击手机附件时触发。选择 Segue 下方的unwind: 是您要在此处选择的那个:

【讨论】:

谢谢。我尝试使用“Selection segue”,但它没有自动展开(如果我使用 UIButton 而不是 UITableViewCell 会发生这种情况)。我是否需要创建从第二个视图控制器到第一个视图控制器的 segue,然后在 IBAction 中执行 performSegueWithIdentifier?我需要将一些参数传递回第一个视图控制器,但我不想被要求实例化另一个 FirstViewController 来执行此操作。我认为 Unwind segue 可以解决这个问题,但它似乎不起作用。 我刚刚创建了一个基本的测试项目,它工作正常。你应该可以使用 unwinds,哪个部分不起作用? 哎呀。我必须检查一下并回复你。也许这是我做错的其他事情...... 如果退出图标在您按住 Control 键并拖动到它时处于非活动状态,请尝试构建项目 - 有时情节提要在您首次添加时未检测到展开操作。 好吧,我真是个笨蛋,以至于我在最初的问题中没有提到这一点(老实说,我只是忘记了)。我正在使用 Xamarin.ios。当我运行该项目时,我通过 Xamarin Studio 运行它。我猜这可能是 Xamarin 中的一个错误。我已经向他们记录了一个支持请求,并附上了一个示例项目来重现该问题。 @jrturton,感谢您的努力(尽管可能是由于我忽略了提供所有相关信息而造成的冗余!)。我更新了我的问题以反映问题的真实背景(即 Xamarin)。我会在收到回复后报告。【参考方案2】:

好的。我对这里的错误感到有点尴尬。我没有为我的 UITableView 创建一个插座,而是使用我通过 ViewController 中的代码创建和添加的 tableview。因此,我在故事板上连接到 UITableViewCell 的“场景退出”从未被调用(因为它连接到的 UITabelViewCell 不是应用程序运行时可见的那个)

我只是为表格视图创建了一个出口并使用它,一切都很好。我会把它归结为我的新手状态:-/

【讨论】:

以上是关于在 Xamarin.iOS 中使用 UITableViewCell 展开 Segue的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 AppStoreReceiptUrl 在 Xamarin.iOS 中验证 StoreKit 交易

如何在 Xamarin.iOS 中使用 FCM(Firebase 云消息传递)发送 iOS 推送通知

使用Xamarin Effect删除Xamarin.iOS中TextEntry上的圆角

在 Xamarin iOS 中使用 Firebase Crashlytics

如何在 Xamarin(iOS 和 Android)应用程序中使用 Windows 命名空间?

Xamarin.iOS 中的文件选择器