gpt4 book ai didi

swift - 在 UIWebView iOS 中选择图像时模态视图关闭

转载 作者:搜寻专家 更新时间:2023-10-30 21:52:00 25 4
gpt4 key购买 nike

我目前正在构建一个包含 WkWebView 的弹出模态视图的应用程序。当我想在此模态视图中上传图像并出现照片选择时,模态视图将返回到启动它的 View Controller 。

我怎样才能避免这种情况?

import UIKit

class PostWindow : UIViewController {

@IBAction func close(sender: AnyObject) {
dismissViewControllerAnimated(true, completion: nil)
}

override func viewDidLoad() {
super.viewDidLoad()
// do stuff here
let myWebView:UIWebView = UIWebView(frame: CGRectMake(0, 70, UIScreen.mainScreen().bounds.width, UIScreen.mainScreen().bounds.height))
myWebView.loadRequest(NSURLRequest(URL: NSURL(string: "https://m.facebook.com/")!))
self.view.addSubview(myWebView)

self.title = "News Feed"

UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.Default, animated: true)
UIApplication.sharedApplication().statusBarHidden = false

/*let addButton: UIBarButtonItem = UIBarButtonItem(barButtonSystemItem: UIBarButtonSystemItem.Search,
target: self,
action: #selector(self.openSearch(_:)))
self.navigationItem.setRightBarButtonItems([addButton], animated: true)*/
self.navigationController?.navigationBar.tintColor = UIColor.blackColor()
}

override func preferredStatusBarStyle() -> UIStatusBarStyle {
return UIStatusBarStyle.LightContent
}

谢谢!

最佳答案

我遇到了同样的问题。我发现文件上传操作表在选择一个选项后尝试自行关闭两次,这导致模式也被关闭。

一个解决方案是子类化包含 webview 的 UINavigationController 并覆盖 dismissViewControllerAnimated 以忽略它,除非它实际上有一个 presentedViewController

像这样:

override func dismissViewControllerAnimated(flag: Bool, completion: (() -> Void)?) {
if (self.presentedViewController != nil) {
super.dismissViewControllerAnimated(flag, completion: completion)
}
}

如果您不使用导航 Controller ,只需在 webview 中覆盖此方法即可。

关于swift - 在 UIWebView iOS 中选择图像时模态视图关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37380333/

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