カスタムの 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 はサブクラスで実装する必要があります。
私は contentViewInsets を実装していますが、それでもエラーが発生するため、ここで見られるように、Apple にはこのサブクラス化に関して文字化けした例外があるようです。
これは、prepareForSegue メソッドでバックグラウンド クラスをポップオーバーに設定する方法です。
popover.popoverBackgroundViewClass = SettingsPopoverBackgroundView.self
そうですか?
誰が私が間違っているのかを見ることができますか?