代码之家  ›  专栏  ›  技术社区  ›  ohhorob

如何将UIApplicationLegate添加到UIResponder链的末尾?

  •  5
  • ohhorob  · 技术社区  · 15 年前

    我想提供一个 IBAction 应用程序各个部分所需的通用功能的方法。

    i、 e.登录是以模式实现的,如果成功,则会产生一个通知,允许所有加载的视图控制器对此事件做出反应(从匿名转换为已验证)

    @interface MyAppDelegate : NSObject <UIApplicationDelegate>
    {
      ...
    }
    - (IBAction)loginTapped:(id)sender;
    @end
    

    MyAppDelegate 一个回应的机会。

    我的问题是,我不想在响应程序链的各个部分复制这个方法,我想把它添加到一个已经是子类的公共类中。

    UIResponder 铁链一直延伸到 UIApplication 但这似乎是结局。我的 UIApplicationDelegate

    (或者找到另一种方法 UIButton 对应用程序范围内的实现进行润色。。我想避免将 UITabBarController UIWindow (如有可能)

    2 回复  |  直到 15 年前
        1
  •  2
  •   Jason Foreman    15 年前

    UIApplication 拥有 -nextResponder 如果应用程序委托是 UIResponder 子类。然后你需要把你的电话改成 UIApplicationMain

    我自己也没试过,但我想不出这会造成什么直接的问题。

        2
  •  1
  •   Bryan Luby    12 年前

    UIResponder NSObject nextResponder 把工作转移到一个海关 UIR应答器

    - (UIResponder *)nextResponder
    {
        static dispatch_once_t onceToken;
        static LastUIResponder *lastResponder = nil;
        dispatch_once(&onceToken, ^{
            lastResponder = [[LastUIResponder alloc] init];
        });
        return lastResponder;
    }
    
    推荐文章