我正在实现一个自定义 PopoverBackgroundView,正如Swift 文档中所指定的,我必须实现以下方法:
class SettingsPopoverBackgroundView: UIPopoverBackgroundView {
override var arrowOffset: CGFloat {
get {
return 0.0
}
set {
super.arrowOffset = newValue
}
}
override var arrowDirection: UIPopoverArrowDirection {
get {
return UIPopoverArrowDirection.Up
}
set {
super.arrowDirection = newValue
}
}
func contentViewInsets() -> UIEdgeInsets {
return UIEdgeInsetsMake(10, 10, 10, 10)
}
func arrowBase() -> CGFloat {
return 2.0
}
func arrowHeight() -> CGFloat {
return 2.0
}
}
但是,我仍然收到错误消息:
UIPopoverBackgroundView contentViewInsets 必须由子类实现。
对于这个子类化,Apple 似乎有一些乱码异常,正如可以在这里看到的那样,因为我确实实现了 contentViewInsets,但仍然得到错误。
这就是我在 prepareForSegue 方法中将背景类设置为弹出框的方式:
popover.popoverBackgroundViewClass = SettingsPopoverBackgroundView.self
这样对吗?
谁能看到我做错了什么?