Num*_*bot 5 uipopovercontroller ios uipopover swift
我正在自定义UIView画布上进行一些绘制,而不是在视图底部设置一组按钮以允许用户选择形状,而是希望用户长按手势,然后出现一个弹出式菜单,它们可以选择不同的形状。尽管我认为在iOS中有类似的东西,但我在xCode中看不到任何类似的东西。我不希望在电量不足和通知不足时显示警报弹出窗口。
我已经研究过使用UIPopoverController,但是对于我已经阅读过的其他一些Stack Overflow问题以及Apple提供的文档感到有些困惑。
在将该按钮与 viewController 和弹出框连接起来作为转场后,您需要做好准备。以下是为弹出窗口做好准备的代码。
func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
if let identifier = segue.identifier
{
switch identifier
{
case History.SegueIdentifier:
if let tvc = segue.destinationViewController as? TextViewController
{
if let ppc = tvc.popoverPresentationController
{
ppc.delegate = self
}
tvc.text = "\(diagnosticHistory)"
}
default: break
}
}
}
Run Code Online (Sandbox Code Playgroud)
请记住,如果您有 iPhone,弹出窗口将全屏显示,因此您可以使用它来修复该问题,例如使用某些特定元素的文本。
这会将弹出窗口修复为与文本中元素的大小完全相同的大小。
@IBOutlet weak var textView: UITextView!
{
didSet
{
textView.text = text
}
}
var text : String = ""
{
didSet
{
textView?.text = text
}
}
override var preferredContentSize : CGSize
{
get
{
if textView != nil && presentingViewController != nil
{
return textView.sizeThatFits(presentingViewController!.view.bounds.size)
}
else
{
return super.preferredContentSize
}
}
set {super.preferredContentSize = newValue}
}
}
Run Code Online (Sandbox Code Playgroud)
我在不同的视图控制器中有这两个,但我想它会起作用。您还需要实施UIPopoverPresentationControllerDelegate和
func adaptivePresentationStyleForPresentationController(controller: UIPresentationController) -> UIModalPresentationStyle {
return UIModalPresentationStyle.None
}
Run Code Online (Sandbox Code Playgroud)
到你的第一个viewController。
| 归档时间: |
|
| 查看次数: |
8148 次 |
| 最近记录: |