草庐IT

NSNotificationCenter

全部标签

swift - 如何使用 Swift 3 检测 macOS 默认模式和暗模式之间的切换

我想在用户从默认模式切换到深色模式时更改我的状态栏应用程序图标,反之亦然(使用Swift3)。这是我目前所拥有的:funcapplicationDidFinishLaunching(_aNotification:Notification){DistributedNotificationCenter.default().addObserver(self,selector:#selector(darkModeChanged(sender:)),name:"AppleInterfaceThemeChangedNotification",object:nil)}...funcdarkModeC

ios - keyboardWillShow 被其他应用程序的键盘调用

我知道这是应该发生的事情,但它给我带来了我不知道如何解决的问题。我想在键盘显示时向上移动我的View,以便我的文本字段保持可见。我的文本字段有数字键盘。我使用通知和keyboardWillShow/hide在选择文本字段时向上/向下移动View。现在假设我点击一个文本字段,然后切换到另一个使用不同键盘(不是数字小键盘)的应用程序。keyboardWillShow被调用时键盘的大小错误(来自另一个应用程序的键盘),我的View移动了错误的数量(它甚至根本不应该移动)。因此,当我回到我的应用程序时,我的View在错误的位置并且键盘甚至没有显示,然后keyboardWillHide被调用并且

ios - 委托(delegate) iOS 的多个监听器

我有一个带有委托(delegate)didSelectString的类搜索栏。我有一个实现委托(delegate)的A类和一个实现委托(delegate)的B类。但是只有来自类A的委托(delegate)被执行。一个代表可以有多个听众吗?以及如何实现这个 最佳答案 委托(delegate)是一个单一的消息传递协议(protocol)。如果您想向多个对象发送更改消息,则需要使用NSNotifications。您可以像这样使用通知中心传递一个对象:NSDictionary*userInfo=@{@"myObject":customObj

ios - 委托(delegate) iOS 的多个监听器

我有一个带有委托(delegate)didSelectString的类搜索栏。我有一个实现委托(delegate)的A类和一个实现委托(delegate)的B类。但是只有来自类A的委托(delegate)被执行。一个代表可以有多个听众吗?以及如何实现这个 最佳答案 委托(delegate)是一个单一的消息传递协议(protocol)。如果您想向多个对象发送更改消息,则需要使用NSNotifications。您可以像这样使用通知中心传递一个对象:NSDictionary*userInfo=@{@"myObject":customObj

ios - 检测 UILabel 文本的变化

是否可以为UILabel的文本属性更改时设置通知?当我找不到用于UILabel的那个时,我尝试了用于UITextFields的那个,但它没有用。[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(posttosocial)name:UITextFieldTextDidChangeNotificationobject:nowplaying]; 最佳答案 您可以使用键值观察(KVO):[labeladdObserver:selfforKeyPath

ios - 检测 UILabel 文本的变化

是否可以为UILabel的文本属性更改时设置通知?当我找不到用于UILabel的那个时,我尝试了用于UITextFields的那个,但它没有用。[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(posttosocial)name:UITextFieldTextDidChangeNotificationobject:nowplaying]; 最佳答案 您可以使用键值观察(KVO):[labeladdObserver:selfforKeyPath

ios - 状态栏边框变化无任何通知

我已注册接收有关状态栏框架更改的通知,但从未收到。这是我注册通知的方式:[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(appWillChangeStatusBarFrameNotification:)name:UIApplicationWillChangeStatusBarFrameNotificationobject:nil];在我们应用的某些地方,我们通过以下方式显示/隐藏状态栏:[[UIApplicationsharedApplication]setStatusBarHidden:ma

ios - 状态栏边框变化无任何通知

我已注册接收有关状态栏框架更改的通知,但从未收到。这是我注册通知的方式:[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(appWillChangeStatusBarFrameNotification:)name:UIApplicationWillChangeStatusBarFrameNotificationobject:nil];在我们应用的某些地方,我们通过以下方式显示/隐藏状态栏:[[UIApplicationsharedApplication]setStatusBarHidden:ma

ios - NSNotification 与 dispatch_get_main_queue

关于thisquestion我想知道关于何时使用NSNotification(在主线程中有观察者)与使用GCD将工作从后台线程分派(dispatch)到主线程,是否有任何普遍接受的逻辑?似乎使用通知观察器设置,您必须记住在View卸载时拆除观察器,但随后您可靠地忽略了通知,因为将作业分派(dispatch)到主线程可能会导致在以下情况下执行blockView已卸载。因此,在我看来,通知应该提供改进的应用程序稳定性。根据我所读的GCD,我假设调度选项提供了更好的性能?更新:我知道通知和调度可以一起愉快地工作,在某些情况下,应该一起使用。我试图找出是否存在应该/不应该使用的特定情况。一个例

ios - NSNotification 与 dispatch_get_main_queue

关于thisquestion我想知道关于何时使用NSNotification(在主线程中有观察者)与使用GCD将工作从后台线程分派(dispatch)到主线程,是否有任何普遍接受的逻辑?似乎使用通知观察器设置,您必须记住在View卸载时拆除观察器,但随后您可靠地忽略了通知,因为将作业分派(dispatch)到主线程可能会导致在以下情况下执行blockView已卸载。因此,在我看来,通知应该提供改进的应用程序稳定性。根据我所读的GCD,我假设调度选项提供了更好的性能?更新:我知道通知和调度可以一起愉快地工作,在某些情况下,应该一起使用。我试图找出是否存在应该/不应该使用的特定情况。一个例