草庐IT

Uiapplication

全部标签

iphone - 为什么不继承 UIApplication?为什么要使用委托(delegate)?

与其使用应用程序委托(delegate)以便UIApplication单例可以在预定义的时间调用委托(delegate)方法,不如将UIApplication子类化的优点和缺点是什么?(更新:为什么iOS架构使用应用程序委托(delegate)而不是让人们通过继承UIApplication并覆盖其各种方法来编写应用程序?)那是因为当我们创建一个新的UIView控件时,我们继承了UIView(update:或者我们继承了UIViewController也是)。那么,为什么对于应用程序的情况,我们不继承UIApplication而是使用委托(delegate)呢?

ios - UIApplication SendEvent 崩溃

我正在开发示例应用程序,我在其中子类化UIApplication并覆盖sendEvent函数。一切正常,但有时我在函数中遇到异常,是否有可能[UIApplicationSendEvent]可能会通过异常??..以下是我的代码..(void)sendEvent:(UIEvent*)event{[supersendEvent:event];//Someotherthingsjustcheckingfortypeofevent..etc...}我在调用[supersendEvent:event];后收到崩溃SIGSEGV。 最佳答案 我认

iOS SpringBoardServices 获取 UIApplication

使用otool-tVSpringBoardServices命令,我能够在SpringBoardServices框架二进制文件中获取C函数..我可以看到SBFrontmostApplicationDisplayIdentifier,它会给我最重要的应用程序的ID。这个id可以用来获取UIApplication吗?最终我想获得最顶层的View,它正在消耗触摸事件及其类型,如UIButton等?感谢任何帮助。 最佳答案 这不是真正的答案,而只是对这个问题的一些思考。C与ObjectiveCAPI的对比一般来说,有两种类型的API:CAPI

iOS 8 [UIApplication sharedApplication].scheduledLocalNotifications 为空

我正在尝试将我的应用程序更新到iOS8。在一个函数中,我以这种方式安排本地通知(我已经检查过firedate和通知的所有其他部分都是正确的):[[UIApplicationsharedApplication]scheduleLocalNotification:localNotification];然后我使用这段代码打印预定的本地通知:NSLog(@"notifications%@",[UIApplicationsharedApplication].scheduledLocalNotifications);但是数组[UIApplicationsharedApplication].sche

ios - iOS 9 及更低版本的 UIApplication.shared().open() 的替代方法是什么?

这个问题在这里已经有了答案:SwiftOpenLinkinSafari(11个答案)关闭6年前。之前我使用XCode8beta3并在iOS10设备上测试它。但现在我希望我的应用程序支持以前版本的iOS。当我在从项目设置中减少部署目标后尝试在iOS9设备上运行它时,此特定方法显示错误,因为它仅适用于iOS10.0或更新版本:UIApplication.shared().open((urlasURL),options:[:],completionHandler:nil)

ios - UIApplication 没有成员共享

我正在使用Swift语言构建适用于iOS系统的应用程序。所以我已经将核心数据添加到我的项目中。我还创建了“CoreDataController”这是它的代码:importFoundationimportCoreDataimportUIKitclassCoreDataController{staticletshared=CoreDataController()privatevarcontext:NSManagedObjectContextprivateinit(){letapplication=UIApplication.shared.delegateas!AppDelegateself

ios - 在 iOS 扩展和应用程序之间使用 UIApplication.shared 共享 CocoaPod

我有一个我编写的定制私有(private)CocoaPod。我正在尝试在我的iOS应用程序中使用它,它运行良好。但是当我将它添加到我的iMessage应用程序或共享扩展时它失败并给我一个错误'shared'isunavailable:Useviewcontrollerbasedsolutionswhereappropriateinstead.当尝试使用UIApplication.共享。我首先想到如何解决这个问题是添加一个Swift标志IN_EXTENSION或类似的东西。然后将代码包装在#ifblock中。问题是CocoaPod源的目标位于某种类型的框架中。源不直接属于应用程序或扩展程

ios - 带有 Swift UIApplication 子类的 Objective-C 项目。错误 : class not loaded

我有一个用Objective-C编写的项目,我刚刚使用Swift添加了一个UIApplication子类:RMFApplication.swift(在文章末尾实现)。但是,我收到此错误:Terminatingappduetouncaughtexception'NSInternalInconsistencyException',reason:'UnabletoinstantiatetheUIApplicationsubclassinstance.NoclassnamedRMFApplicationisloaded.'在我的info.plist中我正确指定了名称NSPrincipalCla

ios - swift UIApplication.setStatusBarStyle 不起作用

这是我在UIViewController的子类中的实现:overridefuncviewWillAppear(animated:Bool){super.viewWillAppear(animated)UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent,animated:false)}我试着把它放在AppDelegate初始化代码中(使用传入的UIApplication实例),但是状态栏仍然是黑色的..这是iOS8的错误还是我做错了?注意:我在这里讨论ios8可能违反了某人的法

ios - 如何正确处理 nil UIApplication.sharedApplication().keyWindow

当viewDidLoad被调用时,View应该被加载。但我总是在UIApplication.sharedApplication().keyWindow为nil时崩溃...我应该把我的代码放在哪里,以便在加载View后调用它,而不是每次用户返回时调用它(出于这个原因,我已经排除了viewWillAppear)? 最佳答案 情况1:-在App的委托(delegate)中手动创建UIWindow在将其设置为键之前,您可能以某种方式将UIViewController添加到UIWindow中。您应该在创建窗口后在应用的委托(delegate)