gpt4 book ai didi

ios - 导航栏导航项导致推送 View Controller 上按钮的顶部区域不可点击

转载 作者:可可西里 更新时间:2023-11-01 05:27:14 24 4
gpt4 key购买 nike

我有一种强烈的感觉,这可能是苹果需要修复的 Xcode 错误。我有一个作为根 Controller 嵌入在导航 Controller 中的 View Controller 。 View Controller 有一个与顶部布局指南垂直对齐的按钮。 View Controller 的按钮工作正常,所有可点击区域都正常工作。

enter image description here

但是,如果我将相同或相似的 View Controller 推送到导航堆栈,它的按钮将无法完全点击。按钮的顶部(大约 10 像素左右)不再可点击。如果我尝试点击按钮的左上角,则会点击导航栏上的后退按钮,即使我显然没有点击导航栏边界。我认为这是苹果的一个错误,但我想知道是否有人知道修复方法。这是 link to the github project如果有人需要的话。

最佳答案

这是 iOS 的默认行为。许多 UIView 在 iOS 中都具有这种扩展的触摸功能。例如,UINavigationBarUITabBarUISecgmentedControl 等。我相信这是为了让这些控件更容易接触。

如果您仍想覆盖此默认行为。您可以通过子类化 UINavigationBar 并在子类中添加此方法来做到这一点:

-(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {

if ([self pointInside:point withEvent:event]) {
self.userInteractionEnabled = YES;
} else {
self.userInteractionEnabled = NO;
}

return [super hitTest:point withEvent:event];
}

对您的 Github project 的合并请求制成。

关于ios - 导航栏导航项导致推送 View Controller 上按钮的顶部区域不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35850940/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com