gpt4 book ai didi

objective-c - 如何自定义 UIWebView 点按链接表

转载 作者:搜寻专家 更新时间:2023-10-30 20:12:42 26 4
gpt4 key购买 nike

我想知道如何覆盖在 UIWebView 中点击并按住链接时出现的 UIActionSheet(它显示链接以及打开和复制按钮)。我需要向警报添加一个按钮,但我不知道如何自定义它。

有没有人知道如何解决这个问题?

最佳答案

鉴于不存在这样的 API,您仍然可以在不使用私有(private) api 的情况下以非标准 api 方式自定义工作表。最简单的可能是观察该 webview 的 subview ,当一个 subview 出现时(如弹出窗口)检查它的类,如果它是这样的弹出窗口,则对其进行自定义。这是我尝试的方法。

仍然:这是 hacky,可能很容易在下一次更新中崩溃。

添加观察:

[myWebView addObserver:self forKeyPath:@"subviews" options:0 context:@"popup"];

然后观察:

- (void)observeValueForKeyPath:(NSString *)keyPath
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context
{
if (context == @"popup") {
for (UIView *view in [object subviews]) {
if ([view isKindOfClass: [UIAlertView class]])
[self customizeAlert: (UIAlertView*)view];
}
}
[super observeValueForKeyPath:keyPath
ofObject:object
change:change
context:context];
}

然后按照这样的方法进行定制:

- (void)customizeAlert:(UIAlertView*)alert { ... }

关于objective-c - 如何自定义 UIWebView 点按链接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3621675/

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