【问题标题】:Resign First Responder from another View Controller从另一个视图控制器中退出第一响应者
【发布时间】:2013-07-28 22:06:41
【问题描述】:

我有一个奇怪的案例,我使用来自John Lluch 的出色 SWRevealViewController 来让 2 个侧边导航控制器(如 Facebook 应用程序)在 UIBarButtonItem 被触摸时向左和向右滑出。

但是 - 我需要前视图控制器确保在这些操作发生时让第一响应者辞职,但是这些条形按钮的相关操作发生在另一个视图控制器类中。

我需要:

  1. 将另一个操作与 UIBarButtonItem 相关联,我可以在需要退出第一响应者的视图中调用该操作或
  2. 在任一侧视图的 ViewDidAppear 或 SWRevealController 类中为主视图退出第一响应者

您可以从另一个视图控制器中为一个视图辞去第一响应者吗?

【问题讨论】:

    标签: ios objective-c uibarbuttonitem resignfirstresponder


    【解决方案1】:
    you can do it using NSNotificationCenter as below.
    
    //.m file:  
     [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(LoadTableBasedOnCorner:) name:@"LoadTable" object:nil]; 
    
    in which class you use above addObserver, you have to implement that method.
    
    //.m file from where you want to send action, call method as below.
    
    [[NSNotificationCenter defaultCenter] postNotificationName:@"LoadTable" object:nil];
    

    【讨论】:

    • 这就是我所做的!我希望有一个更好的答案,但这确实非常有效。我对 Objective-C(或者说老实说任何语言的内存管理)都不太了解,但它对我来说感觉像是一个内存密集型解决方案,因为它在每个类中都可读。尽管如此,它并没有减慢任何速度,而且我们在这个应用程序中使用了几乎 0 内存,所以不管怎样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-25
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 1970-01-01
    • 2014-05-05
    • 2020-10-04
    相关资源
    最近更新 更多