将弹出框锚定到textView iOS中选定textRange的矩形
我试图从将弹出框锚定到textView iOS中选定textRange的矩形,ios,swift,uipopovercontroller,uimenucontroller,uimodalpresentationstyle,Ios,Swift,Uipopovercontroller,Uimenucontroller,Uimodalpresentationstyle,我试图从UIMenuItem呈现一个popover,其中锚点是textView中选定文本的矩形。我有以下代码: func pickColor(sender: UIMenuItem) { let range = noteTextView.selectedTextRange let beginningOfSelection = noteTextView.caretRect(for: (range?.start)!) let endOfSelection = noteTextV
UIMenuItem
呈现一个popover,其中锚点是textView
中选定文本的矩形。我有以下代码:
func pickColor(sender: UIMenuItem) {
let range = noteTextView.selectedTextRange
let beginningOfSelection = noteTextView.caretRect(for: (range?.start)!)
let endOfSelection = noteTextView.caretRect(for: (range?.end)!)
let storyboard: UIStoryboard = UIStoryboard(name: "ColorPicker", bundle: nil)
let colorVC = storyboard.instantiateViewController(withIdentifier: "ColorPickerViewController") as UIViewController
colorVC.modalPresentationStyle = .popover
let popover: UIPopoverPresentationController = colorVC.popoverPresentationController!
popover.sourceView = noteTextView
popover.sourceRect = CGRect(x: (beginningOfSelection.origin.x + endOfSelection.origin.x)/2, y: (beginningOfSelection.origin.y + beginningOfSelection.size.height)/2, width: 0, height: 0)
present(colorVC, animated: true, completion: nil)
}
应用程序在
colorVC.modalPresentationStyle=.popover
行中崩溃。有人能告诉我这是怎么回事吗?谢谢!:) 这个确切的代码对我有用。你确定你的“colorVC”不是零吗?不过,我忘了在界面生成器中指定viewController ID,谢谢!