//
// CCUIWindow.m
// CCFC
//
// Created by xichen on 11-12-17.
// Copyright 2011年 ccteam. All rights reserved.
//
#import "CCUIWindow.h"
#import "CCLog.h"
@implementation UIWindow(cc)
//
+ (UIWindow *)addImgToStatusBar:(UIImage *)img withRect:(CGRect)imgRect
{
CGRect frame = {{0,0}, {320,20}};
UIWindow *wnd = [[UIWindow alloc] initWithFrame:frame];
// [UIApplication sharedApplication].statusBarHidden = YES;
// [wnd setBackgroundColor:[UIColor clearColor]];
[wnd setWindowLevel:UIWindowLevelAlert];
UIImageView *imgView = [[UIImageView alloc] initWithFrame:imgRect];
[imgView setContentMode:UIViewContentModeScaleAspectFit];
// UIImage *scaledImg = [img scale:0.5];
[imgView setImage:img];
[wnd addSubview:imgView];
[imgView release];
[wnd makeKeyAndVisible];
return wnd;
}
// not ok
+ (void)addImgToWindow:(UIImage *)img withRect:(CGRect)imgRect
{
UIWindow *window = [[UIApplication sharedApplication] keyWindow];
[window setWindowLevel:UIWindowLevelStatusBar];
UIImageView *imgView = [[UIImageView alloc] initWithFrame:imgRect];
[imgView setContentMode:UIViewContentModeCenter];
[imgView setImage:img];
[window addSubview:imgView];
[imgView release];
}
+ (NSArray *)logAllWindows
{
NSArray *arr = [[UIApplication sharedApplication] windows];
LOG_ID(arr);
return arr;
}
- (void)getSubViewIsMemberOf:(NSString *)viewStr
array:(NSMutableArray *)outArray
maxSize:(int)maxSize
{
[super getSubViewIsMemberOf:viewStr array:outArray maxSize:maxSize];
}
// alloc a window that is mainscreen bounds
+ (UIWindow *)allocMainScreenWindow
{
return [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
}
#if CC_ENABLE_PRIVATE_API && CC_COMPILE_PRIVATE_CLASS
// uses private api
// 获取UITextEffectsWindow的指针
+ (UIWindow *)getTextEffectsWindow
{
Class cls = NSClassFromString(@"UITextEffectsWindow");
return [cls sharedTextEffectsWindow];
}
#endif
@end
可能有更新:
googlecode链接地址:http://code.google.com/p/iphone-common-codes-ccteam/source/browse/trunk/CCFC/files/CCUIWindow.m
github地址: https://github.com/cxsjabc/iphone-common-codes-ccteam/tree/master/CCFC/files/CCUIWindow.m