来自UICollectionView的弹窗segue ReusableView (header)



我将UIButton添加到UICollectionView标题中。我喜欢从按钮启动一个弹出窗口segue到一个UITableViewController

  • 从集合视图标题上的按钮control-drag到并选择present as popoversegue。
  • 当我构建项目时,我收到以下错误:

Main.storyboard:

error: Couldn't compile connection: <IBCocoaTouchOutletConnection:
   0x7fd0436bc660  source=<IBProxyObject: l2l-iC-wi9 'Placeholder for
   UIStoryboardPopoverPresentationSegueTemplate with OID iIR-Qd-1S2'>
   property=anchorView  destination=<IBUIButton: xWf-K4-adt 'Anchor
   View'>>
指出

  • 如果我选择启动其他类型的segue,它们都可以正常工作。

  • 如果按钮不位于UIcollectionView的头部(例如,UIViewController, UIView),弹出窗口segue也可以正常工作。

我也遇到过这种情况。标题(或单元格)只是真实标题的代理,因为可能有多个标题。在故事板中,只需从主collectionView本身锚定,然后你可以在prepareforSegue期间将锚点更改为指向正确的单元格。

在单元格的按钮动作中,调用

[self peformSegue: @"SegueName" sender: cell]

then在prepareForSegue中,调用

segue.destinationViewController.popoverPresentationController.sourceView  =  (UIView *) sender
segue.destinationViewController.popoverPresentationController.sourceRect  = ((UIView *) sender.bounds`

相关内容

  • 没有找到相关文章

最新更新