gpt4 book ai didi

ios - SFSafariViewController 完成按钮不起作用/触摸区域太小

转载 作者:行者123 更新时间:2023-12-01 18:40:20 25 4
gpt4 key购买 nike

我在 SFSafariViewController 中提供了一个链接,如下所示:

SFSafariViewController *sfvc = [[SFSafariViewController alloc] initWithURL:myurl];
sfvc.preferredControlTintColor=[UIColor blackColor];
sfvc.delegate = self;
[self.navigationController pushViewController:sfvc animated:YES];

我添加了委托(delegate)SFSafariViewControllerDelegate和方法:

- (void)safariViewControllerDidFinish:(SFSafariViewController *)controller{
NSLog(@"safariViewControllerDidFinish");
[self.navigationController popViewControllerAnimated:YES];
}

但是,当我点击“完成”按钮时,它通常不起作用。尤其是左手,根本没用。然而,当我用右手以特定角度敲击时,它确实有效。这似乎表明“完成”按钮的触摸区域太小。

如果我从左边缘滑动,那么就可以了。

最佳答案

我明白了。我使用 XCode 的“调试 View 层次结构”,注意到整个 SFSafariViewController 的左侧被 UINavigationController 的左边缘滑动检测 View 和第二个左边缘滑动检测 View 覆盖。也许 SFSafariViewController 带有它自己的左边缘滑动检测 View 。第二个 View 与“完成”按钮触摸区域重叠。

enter image description here

然后我在某处读到 SFSafariViewController 只能使用 presentViewController 呈现。

所以我删除了委托(delegate)方法并使用了它:

SFSafariViewController *sfvc = [[SFSafariViewController alloc] initWithURL:myurl];
sfvc.preferredControlTintColor=[UIColor blackColor];
[self presentViewController:sfvc animated:YES completion:nil];

这非常有效。令人惊讶的是,以这种方式呈现,从左边缘滑动似乎仍然可以正常工作。浏览 XCode 的“调试 View 层次结构”,我注意到只有一个左边缘滑动检测 View :

enter image description here

关于ios - SFSafariViewController 完成按钮不起作用/触摸区域太小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44208010/

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