2

我正在尝试从UIMenuItem哪个锚点呈现一个弹出框,该锚点是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。有人能告诉我这里发生了什么吗?谢谢!:)

4

0 回答 0