我有一个标签栏项目,该项目可插入到与标签栏顶部重叠的位置。可以在选项卡栏中单击该项目,但不能在选项卡栏上方的圆圈图像部分中单击。
是否可以扩展选项卡栏项类以更改命中框,或增加选项卡栏本身上的命中框?我尝试增加标签栏的高度,但我不希望其他项目四处移动。
答案 0 :(得分:0)
像这样在SubView中覆盖hitTest,
override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? {
guard isUserInteractionEnabled else { return nil }
guard !isHidden else { return nil }
guard alpha >= 0.01 else { return nil }
guard self.point(inside: point, with: event) else { return nil }
if yourButton.point(inside: convert(point, to: yourButton), with: event) {
return yourButton
}
return super.hitTest(point, with: event)
}
有关更多信息,您可以参考此blog。