1

在我的表格视图中选择一行时,我正在展示一个 Safari 视图控制器。完成 Safari 视图控制器后,我按下完成按钮,它会返回我的表格视图。当我向右滑动以关闭 Safari 视图控制器时,我遇到了问题。如果我滑动关闭而不是按下完成,我仍然可以滚动我的表格视图并重新加载它,但我无法选择一行。我的理解是,如果 Safari 视图控制器仍然存在,则在第一个视图控制器真正消失之前无法呈现另一个视图控制器。似乎这可能是导致问题的原因。如何使滑动以关闭 Safari 视图控制器实际上摆脱了呈现的控制器?

    func safariViewControllerDidFinish(controller: SFSafariViewController) {
            controller.dismissViewControllerAnimated(true, completion: nil)
        }

    override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
            var linkString = posts.objectAtIndex(indexPath.row).valueForKey("link") as? String
            linkString = linkString!.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet())
            linkString = linkString?.stringByReplacingOccurrencesOfString("%09%09", withString:"")
            let url = NSURL(string: linkString!)
            let safariVC = SFSafariViewController(URL: url!, entersReaderIfAvailable: true)
            safariVC.delegate = self
            let kfbBlue = UIColor(red: 8.0 / 255.0, green: 77.0 / 255.0, blue: 139.0 / 255.0, alpha: 1.0)
            safariVC.view.tintColor = kfbBlue
            self.presentViewController(safariVC, animated: true, completion: nil)
        }
4

0 回答 0