/ / स्टेटस बार के शीर्ष पर दृश्य नहीं दिखाया जा सकता है, uiwindow, उद्देश्य सी - उद्देश्य-सी, ios7, uiwindow

स्टेटस बार के शीर्ष पर दृश्य नहीं दिखाया जा सकता है, uiwindow, उद्देश्य सी - उद्देश्य-सी, ios7, uiwindow

मैं निम्न कार्य करके स्टेटस बार के शीर्ष पर ओवरले लगाने की कोशिश कर रहा हूं:

ViewController कार्यान्वयन

- (IBAction)addViewOnTop:(id)sender {
StatusBarOverlayWindow *overlay = [[ACStatusBarOverlayWindow alloc] initWithFrame:CGRectMake(0, 0, 320, 20)];
overlay.hidden = NO;
[overlay makeKeyAndVisible];
}

StatusBarOverlayWindow शीर्षलेख फ़ाइल

#import <UIKit/UIKit.h>

@interface StatusBarOverlayWindow : UIWindow {
}
@end

StatusBarOverLayWindow कार्यान्वयन

@implementation StatusBarOverlayWindow
- (id)initWithFrame:(CGRect)frame {
if ((self = [super initWithFrame:frame])) {
// Place the window on the correct level and position
self.windowLevel = UIWindowLevelStatusBar + 1;
self.frame = frame;
self.backgroundColor = [UIColor orangeColor];
}
return self;
}
@end

जब मैं एक बटन पर क्लिक करता हूं, तो कुछ भी नहीं होता है। क्या किसी को इस मुद्दे के बारे में कोई विचार है। कृपया मार्गदर्शन करें, धन्यवाद

उत्तर:

जवाब के लिए 2 № 1

एक मजबूत संदर्भ रखने का प्रयास करें StatusBarOverlayWindow, इसके बिना चर के बाद चर के बाहर जाना होगा addViewOnTop: विधि पूरी हो गई है। एक संपत्ति यहां अच्छी तरह से काम करेगी।

उदाहरण:

@interface ViewController : UIViewController

@property (nonatomic, strong) StatusBarOverlayWindow *overlayWindow;

@end

फिर आपकी विधि में:

- (IBAction)addViewOnTop:(id)sender {
self.overlayWindow = [[ACStatusBarOverlayWindow alloc] initWithFrame:CGRectMake(0, 0, 320, 20)];
overlay.hidden = NO;
[overlay makeKeyAndVisible];
}