|
@@ -39,6 +39,11 @@
|
|
|
return [self isKeyWindow];
|
|
return [self isKeyWindow];
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+- (BOOL)canBecomeKeyWindow
|
|
|
|
|
+{
|
|
|
|
|
+ return [self.eventDelegate canBecomeKeyWindow];
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
+ (void)initialize
|
|
+ (void)initialize
|
|
|
{
|
|
{
|
|
|
// This adds a method (superclass override) at runtime which gives us the status bar behavior we want.
|
|
// This adds a method (superclass override) at runtime which gives us the status bar behavior we want.
|
|
@@ -48,8 +53,15 @@
|
|
|
NSString *canAffectSelectorString = [@[@"_can", @"Affect", @"Status", @"Bar", @"Appearance"] componentsJoinedByString:@""];
|
|
NSString *canAffectSelectorString = [@[@"_can", @"Affect", @"Status", @"Bar", @"Appearance"] componentsJoinedByString:@""];
|
|
|
SEL canAffectSelector = NSSelectorFromString(canAffectSelectorString);
|
|
SEL canAffectSelector = NSSelectorFromString(canAffectSelectorString);
|
|
|
Method shouldAffectMethod = class_getInstanceMethod(self, @selector(shouldAffectStatusBarAppearance));
|
|
Method shouldAffectMethod = class_getInstanceMethod(self, @selector(shouldAffectStatusBarAppearance));
|
|
|
- IMP implementation = method_getImplementation(shouldAffectMethod);
|
|
|
|
|
- class_addMethod(self, canAffectSelector, implementation, method_getTypeEncoding(shouldAffectMethod));
|
|
|
|
|
|
|
+ IMP canAffectImplementation = method_getImplementation(shouldAffectMethod);
|
|
|
|
|
+ class_addMethod(self, canAffectSelector, canAffectImplementation, method_getTypeEncoding(shouldAffectMethod));
|
|
|
|
|
+
|
|
|
|
|
+ // One more...
|
|
|
|
|
+ NSString *canBecomeKeySelectorString = [NSString stringWithFormat:@"_%@", NSStringFromSelector(@selector(canBecomeKeyWindow))];
|
|
|
|
|
+ SEL canBecomeKeySelector = NSSelectorFromString(canBecomeKeySelectorString);
|
|
|
|
|
+ Method canBecomeKeyMethod = class_getInstanceMethod(self, @selector(canBecomeKeyWindow));
|
|
|
|
|
+ IMP canBecomeKeyImplementation = method_getImplementation(canBecomeKeyMethod);
|
|
|
|
|
+ class_addMethod(self, canBecomeKeySelector, canBecomeKeyImplementation, method_getTypeEncoding(canBecomeKeyMethod));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@end
|
|
@end
|