如何从 UICollectionViewCell 呈现 AlertView
Posted
技术标签:
【中文标题】如何从 UICollectionViewCell 呈现 AlertView【英文标题】:How to present an AlertView from a UICollectionViewCell 【发布时间】:2015-09-04 05:31:29 【问题描述】:我正在使用一个 UICollectionView,标题中有一个 Map。
我想处理核心位置错误。我有 3 种错误类型,其中两种我想提供 UIAlertView
。
但我收到一个错误,因为 UICollectionViewCell
没有名为 presentViewController
的成员。
func locationUnknown()
var alert = UIAlertController(title: "Location Unknown", message: "Please try again later.", preferredStyle: UIAlertControllerStyle.Alert)
let alertAction = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: (action: UIAlertAction!) -> Void in
)
alert.addAction(alertAction)
self.presentViewController(alert, animated:true, completion: nil)
如何将此UIAlertView
发送到UICollectionView
的屏幕?
【问题讨论】:
在那里获取父UICollectionView
和 presentViewController
。
@ILikeTau UICollectionView
是 UIView
的子类,而不是 UIViewController
的子类。它不知道如何presentViewController
。
在您使用 collectionview 的 viewcontroller 中执行此操作。
@TheParamagneticCroissant 哎呀。我的意思是视图控制器。
如何在视图控制器中实现?
【参考方案1】:
使用窗口的根视图控制器来呈现警报:
self.window?.rootViewController?.present(alert, animated: true, completion: nil)
【讨论】:
以上是关于如何从 UICollectionViewCell 呈现 AlertView的主要内容,如果未能解决你的问题,请参考以下文章
如何从自定义 UICollectionViewCell 启动 View Controller
如何从 UICollectionViewCell 访问 UICollectionView 中 Cell 的 indexPath
如何从不同的方法访问 UICollectionViewCell 中标签的文本?
如何从 UICollectionViewController 验证 UICollectionViewCell 的值