相关疑难解决方法(0)

如何在iOS中获得屏幕宽度和高度?

如何才能在iOS中获得屏幕的尺寸?

目前,我使用:

lCurrentWidth = self.view.frame.size.width;
lCurrentHeight = self.view.frame.size.height;
Run Code Online (Sandbox Code Playgroud)

viewWillAppear:willAnimateRotationToInterfaceOrientation:duration:

我第一次得到整个屏幕尺寸.第二次我屏幕减去导航栏.

cocoa-touch screen uikit ios

497
推荐指数
11
解决办法
38万
查看次数

如何解决:iOS 13.0中不推荐使用“ keyWindow”

我正在将Core Data和Cloud Kit一起使用,因此必须在应用程序启动期间检查iCloud用户状态。如果出现问题,我想向用户发出一个对话框UIApplication.shared.keyWindow?.rootViewController?.present(...),直到现在我还是这样做。

在Xcode 11 beta 4中,现在有一条新的弃用消息,告诉我:

iOS 13.0中已弃用“ keyWindow”:不应将其用于支持多个场景的应用程序,因为它会返回所有已连接场景的关键窗口

我该如何显示对话框?

uikit uiwindow uiapplication uiscene

43
推荐指数
14
解决办法
8426
查看次数

如何在iPadOS多窗口(SceneDelegate)中获得rootViewController?

我正在使用Xcode 11(beta3)并为iOS 13构建应用程序。在我的项目中,我创建了UIWindowSceneDelegate在Info.plist中声明它的委托方法。现在,我可以创建多个窗口(和UIScene)。

现在我已经没有单个窗口了,如何访问rootViewController?我需要它来获取对它所持有的对象和范围的一些引用。

在我的AppDelegate window is nil和ViewController(子视图控制器)实例中,我尝试使用,self.view.window.rootViewController但发现这viewDidLoad()还为时过早(我认为),并且该窗口仍为nil,可以在中工作viewDidAppear(),但是我不需要每次都进行此过程视图控制器出现的时间。

这种处理应用程序场景的新方法的最佳实践是什么?

这是我的AppDelegate:

func application(_ application: UIApplication,
                     didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
        return true
    }

    func application(_ application: UIApplication,
                     configurationForConnecting connectingSceneSession: UISceneSession,
                     options: UIScene.ConnectionOptions) -> UISceneConfiguration {
        return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
    }
Run Code Online (Sandbox Code Playgroud)

我的SceneDelegate:

func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
        // yes it's empty, I'm using storyboard
    }
Run Code Online (Sandbox Code Playgroud)

ios13 xcode11 uiscenedelegate

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