草庐IT

uiapplicationdelegate

全部标签

ios - 在运行时创建 UIApplicationDelegate 类

使用ObjectiveC运行时,我试图在运行时为我的iOS应用程序创建一个AppDelegate。这仅用于研究目的,我无意发布。到目前为止我的步骤是:在运行时创建一个名为AppDelegate的类。添加一个名为_window的实例变量。添加一个名为window的属性,该属性使用实例变量作为支持变量,并使用两个C函数作为getter和setter。为选择器application:didFinishLaunchingWithOptions:添加一个方法,并在C中实现返回YES。此时,该类实现了UIApplicationDelegate协议(protocol)。向运行时注册类。但是,当我在连

ios - 可以在运行时更改 AppDelegate

是否可以在运行时将UIApplication.delegate属性更改为另一个实现UIApplicationDelegate协议(protocol)的类,以便从那时起在新类上调用UIApplicationDelegate函数? 最佳答案 您可以使用[UIApplicationsharedApplication].delegate=instanceOfDifferentClass非常简单地更改它。 关于ios-可以在运行时更改AppDelegate,我们在StackOverflow上找到一

ios - sleep 模式 vs 通知中心打开

在两者中,1)iPhone进入休眠模式2)打开通知中心它调用-(void)applicationWillResignActive:(UIApplication*)application有什么方法可以确定调用此方法是因为设备进入休眠模式还是打开通知中心? 最佳答案 好的,当您锁定屏幕/iPhone进入休眠模式时,最前面的应用程序(您的应用程序)将进入后台模式,当您下拉通知中心,您的应用实际上并没有被推送到后台。所以,你可以使用-(void)applicationWillEnterForeground:(UIApplication*)a

ios - conform `UIScrollViewDelegate`后出现警告

我在下面的行中面临警告此警告在更改以下行后出现@interfaceBDSAppDelegate:UIResponder到@interfaceBDSAppDelegate:UIResponder这里我只是符合UIScrollViewDelegate并且出现了这个警告。每件事都很完美,但我不明白如何删除此警告。任何人都可以解释为什么会出现这种情况以及如何将其删除。提前致谢。 最佳答案 [[UIApplicationsharedApplication]delegate]返回id必须转换为BDSAppDelegate为了防止警告。换句话说,

ios - 我怎样才能制作一个程序并在我所有的 View Controller 中使用它?

我有一个在我的很多(如果不是全部)ViewController中都需要的过程。我想知道如何将它放在一个地方(为了代码清洁和维护)并在其他地方使用它。 最佳答案 有更多方法可以解决这个问题——具体取决于您想要实现的目标。如果此方法与UIViewController的生命和数据相关联,您可能希望继承UIViewController或创建一个UIViewController类别。A:子类化(您想要添加一些自定义属性、变量、方法或者您想要重写一个方法):MySubclassedViewController.h#import@interfac

ios - iOS 13 中未调用应用程序委托(delegate)方法

我正在使用Xcode11并为iOS13构建应用程序。在我在Xcode中创建的新项目中,缺少一些UIApplicationDelegate方法,因此我将它们添加回应用程序委托(delegate)文件中。“单一View应用程序”项目的新模板缺少方法。问题是除了-application:didFinishLaunchingWithOptions:之外,没有任何委托(delegate)方法被调用。这是我的应用委托(delegate):@implementationAppDelegate-(BOOL)application:(UIApplication*)applicationdidFinish

iphone - Xcode 4 : Missing File's Owner with Storyboard?

我在Xcode4.5下开始了一个新项目。我接受了默认的向导设置,其中包括一个Storyboard。我去建立连接,但文件的所有者不见了。我不确定我做了什么来结束这个配置。至于UI组件,我添加了一个ScrollView来代替原始View。我在垂直约束方面遇到了一些麻烦,但我没有做任何激烈的事情。我尝试用谷歌搜索这个问题,但只得到两个结果:http://www.google.com/#q=xcode+4+%22missing+file+owner+%22.如何将文件的所有者添加到Storyboard。更新:对于找到这篇StackOverflow文章的其他人,是时候再次执行AppleApp的1

iphone - 从 App Delegate 调用时 PushViewController 不起作用

我有一个基于标签栏的应用程序。当应用程序激活时,我希望它转到第二个选项卡栏(SecondViewController),然后打开DetailViewController。这是我的做法:AppDelegate.m-(void)applicationDidBecomeActive:(UIApplication*)application{self.tabBarController.selectedViewController=[self.tabBarController.viewControllersobjectAtIndex:1];SecondViewController*secondVi

ios - 是否可以从应用程序本身访问应用程序的推送通知状态?

我正在制作一个严重依赖于打开推送通知的应用程序,而且我知道很多人会直接关闭它们而没有检查它们实际会做什么。有没有办法访问应用推送通知的当前开/关状态,然后在它们关闭时在应用中重新激活它们?我不会希望自动将它们重新打开,而是说如果用户没有打开自己的推送通知,则用户无法发送消息-如果用户同意,则从那里打开它们。 最佳答案 我假设您在每次应用程序启动时注册了远程通知(如推送通知指南所推荐的那样)。UIApplicationDelegate协议(protocol)指定以下错误处理程序,将在注册时调用以响应失败:application:did

ios - 停止设备进入休眠模式一段时间

在我的应用程序中,我有一些内容要从服务器下载,当用户开始下载并且应用程序处于事件状态时,应用程序将进入下载停止和失败的后台状态。为了避免这种情况我尝试使用“beginBackgroundTaskWithExpirationHandler”在后台实现下载继续。这只在一段时间内有效,如果设备长时间处于后台状态/sleep模式,下载是失败了。为了避免下载失败,我想到了避免设备在应用程序下载内容时进入休眠模式并实现了相同的方法。我已在下载开始后立即将setIdleTimerDisabled设置为YES,并在下载完成或下载失败后将该属性恢复为NO。[[UIApplicationsharedApp