如何在封面视图和主页中使用“presentViewController”

Posted

技术标签:

【中文标题】如何在封面视图和主页中使用“presentViewController”【英文标题】:how to use 'presentViewController' with cover View and main page 【发布时间】:2015-10-12 13:37:23 【问题描述】:

很多应用程序,他们有封面视图,如 facebook、wechat... 但是当我尝试使用 presentViewController 时,让封面出现在主页上,仍然在封面中。以下是我的代码:

var window: UIWindow?
var coverVC:CoverView?
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool 
        window = UIWindow(frame: UIScreen.mainScreen().bounds)
        window?.backgroundColor = UIColor.lightGrayColor()
        coverVC = ViewController()
        coverVC?.refresh(window!.frame)
        window!.makeKeyAndVisible()
        return true
    

概览

class CoverView: UIViewController 

func refresh(frame:CGRect)
    self.view.frame = frame
    self.view.backgroundColor = UIColor.whiteColor()

    var mainVC:mainView = mainView()
    mainVC.refresh(frame)

    self.dismissViewControllerAnimated(false, completion: nil)

    self.presentViewController(mainVC, animated: false, completion: nil)       
   

主视图:

class mainView: UIViewController 

        func refresh(frame:CGRect)
             self.view.frame = frame
             self.view.backgroundColor = UIColor.blueColor()
        

也许可以使用其他简单的方法来实现目标,没关系。 否则,请不要使用“UInavigationcontroller”,我知道它可以呈现视图,但我不希望该栏在封面视图中,谢谢。

【问题讨论】:

【参考方案1】:

我找到了正确的封面/登录视图,它被称为 SplashScreen。 在 xcode 9 中,您可以在 [TARGETS]>[APP 图标和启动图像] (Image) 找到。(过去的版本,您需要在 plist 文件中添加“启动图像”。)

否则,如果您不想使用此视图,只需删除“LaunchScreen”即可。

【讨论】:

以上是关于如何在封面视图和主页中使用“presentViewController”的主要内容,如果未能解决你的问题,请参考以下文章

打开图像视图 点击封面流程

如何在ios6.1中将表格视图列表显示为封面流

如何在表格视图上方添加封面照片(如路径或每个应用程序)

如何在 iPhone X 的主页指示器下方扩展底视图颜色?

如何过滤要在视图中显示的类型

当另一个视图控制器显示在它上面时,UIPresentationController 会改变大小