Xcode-无法单击选项卡栏上方的插入选项卡栏项

时间:2019-09-12 02:48:09

标签: swift xcode

我有一个标签栏项目,该项目可插入到与标签栏顶部重叠的位置。可以在选项卡栏中单击该项目,但不能在选项卡栏上方的圆圈图像部分中单击。

是否可以扩展选项卡栏项类以更改命中框,或增加选项卡栏本身上的命中框?我尝试增加标签栏的高度,但我不希望其他项目四处移动。

enter image description here enter image description here

1 个答案:

答案 0 :(得分:0)

  1. 第一次使用需要对UIView进行子类化。
  2. 将该子类视图设置为按钮下方的视图。
  3. 像这样在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