小编Jus*_*ing的帖子

WKWebView 不会打开社交媒体登录弹出窗口

我的应用程序中有一个 WKWebView。除了我展示的网站有社交媒体登录按钮外,一切都运行顺利。问题是,它们会显示(或尝试显示)一个弹出窗口,您可以在其中允许它访问您的社交媒体帐户。我对此进行了研究并尝试了一些方法,但似乎都不适合。这是我尝试过的:

在 viewDidLoad 中,我尝试在 init 上启用 Javascript:

WKWebViewConfiguration *theConfiguration = [[WKWebViewConfiguration alloc] init];
WKPreferences *thePreferences = [[WKPreferences alloc] init];
thePreferences.javaScriptCanOpenWindowsAutomatically = YES;
thePreferences.javaScriptEnabled = YES;
theConfiguration.preferences = thePreferences;
self.wkWeb = [[WKWebView alloc] initWithFrame:screenRect configuration:theConfiguration];
Run Code Online (Sandbox Code Playgroud)

然而,这对我没有帮助。然后我试着和代表们一起玩,走那条路。我尝试使用 createWebViewWithConfiguration 方法,但这似乎有点矫枉过正,因为我必须过滤掉它们是否位于登录 URL 然后配置一个弹出窗口并显示它。然后这仍然不起作用。我也来这里查看如果不是主框架逻辑,取消请求并在主视图中重新加载它,这是一个简单的单行修复,因为它膨胀到 20 多行。

这似乎是一个常见问题,但我似乎无法在那里找到很多信息。有任何想法吗?

编辑 - 添加

在玩弄 Armands 的答案后,我走得更近了。这是我现在的 createWebViewWithConfig 方法,它只显示一个白屏覆盖。就像我需要一些东西来告诉新弹出窗口加载内容。另外 - 我假设我可以将这个模式窗口放在我当前的 .m 文件中并且它不需要一个全新的文件?

NSURL *url = navigationAction.request.URL;
if(!navigationAction.targetFrame.isMainFrame && [url.absoluteString rangeOfString:@"initiate_"].location != NSNotFound) {
    //open new modal webview
    AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
    WKWebViewConfiguration *config = …
Run Code Online (Sandbox Code Playgroud)

objective-c popup ios wkwebview

4
推荐指数
3
解决办法
1万
查看次数

垂直StackView中缺少Y约束

我有一个UITableViewCell,里面有一个嵌入式UIStackView.一切正常,手机和iPad都很好看.但是,我在StoryBoard中遇到了很多奇怪的错误,我不知道是否可以忽略它们.通常,我讨厌忽视警告.但在这种情况下可以吗?我的表格单元格设置如下:

UITableViewCell
 - Content View
 -- View (named outerView)
 --- View (named dateView for top banner color)
 --- UIStackView (vertical, named mainStackView, pinned to neighbors)
 ---- UIButton (A)
 ---- UIView (B)
 ---- UIStackView (C, horizontal)
 ---- UIStackView (D, horizontal)
 ---- UILabel (E)
 ---- UIButton (F)
Run Code Online (Sandbox Code Playgroud)

mainStackView(字母AF)下的所有内容都在StoryBoard中显示错误,他们"需要约束:Y位置或高度".但是,根据Apple 文档, 它表示如果UIStackView是垂直方向,它们将处理所有约束和垂直对齐.就像我说的,它工作正常,arrangeSubviews可以折叠/隐藏,没有其他警告.我只是不喜欢发布带有警告的代码.我该怎么做才能解决这个问题,或者这是一个已知的问题?

更新:以下是评论所要求的MCVE.单击此处并解压缩该文件夹以获取仅在Interface Builder中可用的裸骨骼项目.

ios uistoryboard nslayoutconstraint uistackview

2
推荐指数
2
解决办法
5159
查看次数