123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810 |
- //
- // UIFactory.m
- // SmartMeeting
- //
- // Created by luddong on 12-3-30.
- // Copyright (c) 2012年 Twin-Fish. All rights reserved.
- //
- #import "AlertView.h"
- #import "ConfirmView.h"
- #import "UIFactory.h"
- #import "AppDelegate.h"
- #import "JXLabel.h"
- #import <arpa/inet.h>
- static UIFactory* factory;
- NSString *kStyle2Dir;
- #define kDefaultLanguage @"kDefaultLanguage"
- #define kDefaultIsFirstLaunch @"kDefaultIsFirstLaunch"
- /*
- @implementation UIImage(ImageNamed)
- + (UIImage *)imageNamed:(NSString *)name {
- NSString *skin = [[NSUserDefaults standardUserDefaults] stringForKey:kDefaultSkin];
- NSString *image_file = nil;
-
- if (name == nil || [name length] == 0)
- return nil;
-
- if ([skin isEqualToString:SKIN_SECOND] == YES) {
- if ([[name pathExtension] isEqualToString:@""] == YES) // Assumes test=>test.png
- image_file = [[NSBundle mainBundle] pathForResource:name ofType:@"png" inDirectory:kStyle2Dir];
- else
- image_file = [[NSBundle mainBundle] pathForResource:name ofType:@"" inDirectory:kStyle2Dir];
- }
- if (image_file == nil) {
- if ([[name pathExtension] isEqualToString:@""] == YES) //Assumes test=>test.png
- image_file = [[NSBundle mainBundle] pathForResource:name ofType:@"png"];
- else
- image_file = [[NSBundle mainBundle] pathForResource:name ofType:@""];
- }
-
- return [UIImage imageWithContentsOfFile:image_file];
- }
- @end*/
- @implementation UIFactory
- @synthesize font7,font8,font9,font10,font11,font12,font13,font14,font15,font16,font17,font18,font20,font24,font28;
- @synthesize font7b,font8b,font9b,font10b,font11b,font12b,font13b,font14b,font15b,font16b,font17b,font18b,font20b,font24b,font28b;
- + (UIFactory*)sharedUIFactory{
-
- if(factory == nil)
- factory = [[UIFactory alloc]init];
- return factory;
- }
- -(id)init{
- self = [super init];
- self.font7 = [UIFont systemFontOfSize:7];
- self.font8 = [UIFont systemFontOfSize:8];
- self.font9 = [UIFont systemFontOfSize:9];
- self.font10= [UIFont systemFontOfSize:10];
- self.font11= [UIFont systemFontOfSize:11];
- self.font12= [UIFont systemFontOfSize:12];
- self.font13= [UIFont systemFontOfSize:13];
- self.font14= [UIFont systemFontOfSize:14];
- self.font15= [UIFont systemFontOfSize:15];
- self.font16= [UIFont systemFontOfSize:16];
- self.font17= [UIFont systemFontOfSize:17];
- self.font18= [UIFont systemFontOfSize:18];
- self.font20= [UIFont systemFontOfSize:20];
- self.font24= [UIFont systemFontOfSize:24];
- self.font28= [UIFont systemFontOfSize:28];
-
- self.font7b = [UIFont boldSystemFontOfSize:7];
- self.font8b = [UIFont boldSystemFontOfSize:8];
- self.font9b = [UIFont boldSystemFontOfSize:9];
- self.font10b= [UIFont boldSystemFontOfSize:10];
- self.font11b= [UIFont boldSystemFontOfSize:11];
- self.font12b= [UIFont boldSystemFontOfSize:12];
- self.font13b= [UIFont boldSystemFontOfSize:13];
- self.font14b= [UIFont boldSystemFontOfSize:14];
- self.font15b= [UIFont boldSystemFontOfSize:15];
- self.font16b= [UIFont boldSystemFontOfSize:16];
- self.font17b= [UIFont boldSystemFontOfSize:17];
- self.font18b= [UIFont boldSystemFontOfSize:18];
- self.font20b= [UIFont boldSystemFontOfSize:20];
- self.font24b= [UIFont boldSystemFontOfSize:24];
- self.font28b= [UIFont boldSystemFontOfSize:28];
- return self;
- }
- + (id)createTextFieldWith:(CGRect)frame
- delegate:(id<UITextFieldDelegate>)delegate
- returnKeyType:(UIReturnKeyType)returnKeyType
- secureTextEntry:(BOOL)secureTextEntry
- placeholder:(NSString *)placeholder
- font:(UIFont *)font {
- UITextField *textField = [[UITextField alloc] initWithFrame:frame];
- if (delegate != nil) {
- textField.delegate = delegate;
- textField.returnKeyType = returnKeyType;
- textField.secureTextEntry = secureTextEntry;
- textField.placeholder = placeholder;
- textField.font = font;
- // Default property
- textField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
- textField.enablesReturnKeyAutomatically = YES;
- textField.clearButtonMode = UITextFieldViewModeWhileEditing;
- textField.borderStyle = UITextBorderStyleRoundedRect;
- textField.autocapitalizationType = UITextAutocapitalizationTypeNone;
- textField.autocorrectionType = UITextAutocorrectionTypeNo;
- }
- return textField;
- }
- + (id)createLabelWith:(CGRect)frame text:(NSString *)text {
- UILabel *label = [[UILabel alloc] initWithFrame:frame];
- label.text = text;
- return label;
- }
- + (id)createLabelWith:(CGRect)frame
- text:(NSString *)text
- backgroundColor:(UIColor *)backgroundColor {
- UILabel *label = [[UILabel alloc] initWithFrame:frame];
- label.text = text;
- label.backgroundColor = backgroundColor;
- return label;
- }
- + (id)createClearBackgroundLabelWith:(CGRect)frame
- text:(NSString *)text {
- return [UIFactory createLabelWith:frame
- text:text
- backgroundColor:[UIColor clearColor]];
- }
- + (id)createLabelWith:(CGRect)frame
- text:(NSString *)text
- font:(UIFont *)font
- textColor:(UIColor *)textColor
- backgroundColor:(UIColor *)backgroundColor {
- UILabel *label = [[UILabel alloc] initWithFrame:frame];
- label.text = text;
- label.font = font;
- label.textColor = textColor;
- if (backgroundColor != nil) {
- label.backgroundColor = backgroundColor;
- }
- return label ;
- }
- + (UIImage*)resizableImageWithSize:(CGSize)size
- image:(UIImage*)image {
- if (image == nil)
- return nil;
-
- if ([image respondsToSelector:@selector(resizableImageWithCapInsets:)]) {
- return [image resizableImageWithCapInsets:UIEdgeInsetsMake(size.height, size.width, size.height, size.width)];
- } else {
- return [image stretchableImageWithLeftCapWidth:size.width topCapHeight:size.height];
- }
- }
- + (UIButton *)createCommonButton:(NSString *)title target:(id)target action:(SEL)selector{
- UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
- if (title != nil)
- [button setTitle:title forState:UIControlStateNormal];
-
- [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
- [button.titleLabel setFont:g_factory.font15];
-
- UIImage* p = [UIFactory resizableImageWithSize:CGSizeMake(10, 10) image:[g_theme themeTintImage:@"navBarBackground"]];
- [button setBackgroundImage:p forState:UIControlStateNormal];
-
- p = [UIFactory resizableImageWithSize:CGSizeMake(10, 10) image:[g_theme themeTintImage:@"navBarBackground"]];
- [button setBackgroundImage:p forState:UIControlStateHighlighted];
- p = nil;
-
- if ((selector != nil) && (target != nil))
- [button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside];
- return button;
- }
- + (UIButton *)createButtonWithTitle:(NSString *)title
- titleFont:(UIFont *)font
- titleColor:(UIColor *)titleColor
- normal:(NSString *)normalImage
- highlight:(NSString *)clickIamge
- {
- UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
- if (title != nil)
- [button setTitle:title forState:UIControlStateNormal];
-
- if (titleColor != nil)
- [button setTitleColor:titleColor forState:UIControlStateNormal];
-
- if (font != nil)
- [button.titleLabel setFont:font];
-
- if (normalImage != nil){
- UIImage* p = [UIFactory resizableImageWithSize:CGSizeMake(10, 10) image:[UIImage imageNamed:normalImage]];
- [button setBackgroundImage:p forState:UIControlStateNormal];
- p = nil;
- }
-
- if (clickIamge != nil){
- UIImage* p = [UIFactory resizableImageWithSize:CGSizeMake(10, 10) image:[UIImage imageNamed:clickIamge]];
- [button setBackgroundImage:p forState:UIControlStateHighlighted];
- p = nil;
- }
-
- return button;
- }
- + (UIButton *)createButtonWithTitle:(NSString *)title
- titleFont:(UIFont *)font
- titleColor:(UIColor *)titleColor
- normal:(NSString *)normalImage
- highlight:(NSString *)clickIamge
- selected:(NSString *)selectIamge
- {
- UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
- if (title != nil)
- [button setTitle:title forState:UIControlStateNormal];
-
- if (titleColor != nil)
- [button setTitleColor:titleColor forState:UIControlStateNormal];
-
- if (font != nil)
- [button.titleLabel setFont:font];
-
- if (normalImage != nil){
- UIImage* p = [UIFactory resizableImageWithSize:CGSizeMake(10, 10) image:[UIImage imageNamed:normalImage]];
- [button setBackgroundImage:p forState:UIControlStateNormal];
- p = nil;
- }
-
- if (clickIamge != nil){
- UIImage* p = [UIFactory resizableImageWithSize:CGSizeMake(10, 10) image:[UIImage imageNamed:clickIamge]];
- [button setBackgroundImage:p forState:UIControlStateHighlighted];
- p = nil;
- }
-
- if (clickIamge != nil){
- UIImage* p = [UIFactory resizableImageWithSize:CGSizeMake(10, 10) image:[UIImage imageNamed:selectIamge]];
- [button setBackgroundImage:p forState:UIControlStateSelected];
- p = nil;
- }
-
- return button;
- }
- + (UIButton *)createButtonWithImage:(NSString *)normalImage
- highlight:(NSString *)clickIamge
- target:(id)target
- selector:(SEL)selector
- {
- UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
- button.backgroundColor = [UIColor clearColor];
-
- button.custom_acceptEventInterval = 1.0f;
- if (normalImage != nil)
- [button setImage:[UIImage imageNamed:normalImage] forState:UIControlStateNormal];
-
- if (clickIamge != nil)
- [button setImage:[UIImage imageNamed:clickIamge] forState:UIControlStateHighlighted];
-
- if ((selector != nil) && (target != nil))
- [button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside];
-
- return button;
- }
- + (UIButton *)createButtonWithImage:(NSString *)normalImage
- selected:(NSString *)clickIamge
- target:(id)target
- selector:(SEL)selector
- {
- UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
- button.backgroundColor = [UIColor clearColor];
- if (normalImage != nil)
- [button setBackgroundImage:[UIImage imageNamed:normalImage] forState:UIControlStateNormal];
-
- if (clickIamge != nil)
- [button setBackgroundImage:[UIImage imageNamed:clickIamge] forState:UIControlStateSelected];
-
- if ((selector != nil) && (target != nil))
- [button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside];
-
- return button;
- }
- + (UIButton *)createButtonWithRect:(CGRect)frame
- title:(NSString *)title
- titleFont:(UIFont *)font
- titleColor:(UIColor *)titleColor
- normal:(NSString *)normalImage
- selected:(NSString *)clickIamge
- selector:(SEL)selector
- target:(id)target;
- {
- UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
- button.backgroundColor = [UIColor clearColor];
- button.frame = frame;
- if (title != nil)
- [button setTitle:title forState:UIControlStateNormal];
-
- if (titleColor != nil)
- [button setTitleColor:titleColor forState:UIControlStateNormal];
-
- if (font != nil)
- [button.titleLabel setFont:font];
-
- if (normalImage != nil)
- [button setBackgroundImage:[UIImage imageNamed:normalImage] forState:UIControlStateNormal];
-
- if (clickIamge != nil)
- [button setBackgroundImage:[UIImage imageNamed:clickIamge] forState:UIControlStateSelected];
-
- if ((selector != nil) && (target != nil))
- [button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside];
-
- return button;
- }
- + (UIButton *)createButtonWithRect:(CGRect)frame
- title:(NSString *)title
- titleFont:(UIFont *)font
- titleColor:(UIColor *)titleColor
- normal:(NSString *)normalImage
- highlight:(NSString *)clickIamge
- selector:(SEL)selector
- target:(id)target;
- {
- UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
- button.backgroundColor = [UIColor clearColor];
- button.frame = frame;
- if (title != nil)
- [button setTitle:title forState:UIControlStateNormal];
-
- if (titleColor != nil)
- [button setTitleColor:titleColor forState:UIControlStateNormal];
-
- if (font != nil)
- [button.titleLabel setFont:font];
-
- if (normalImage != nil)
- [button setBackgroundImage:[UIImage imageNamed:normalImage] forState:UIControlStateNormal];
-
- if (clickIamge != nil)
- [button setBackgroundImage:[UIImage imageNamed:clickIamge] forState:UIControlStateHighlighted];
-
- if ((selector != nil) && (target != nil))
- [button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside];
-
- return button;
- }
- + (UIButton *)createButtonWithRect:(CGRect)frame
- title:(NSString *)title
- titleFont:(UIFont *)font
- titleColor:(UIColor *)titleColor
- normal:(NSString *)normalImage
- highlight:(NSString *)clickIamge
- fixed:(CGSize)fixedSize
- selector:(SEL)selector
- target:(id)target
- {
- UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
- button.backgroundColor = [UIColor clearColor];
- button.frame = frame;
-
- if (title != nil)
- [button setTitle:title forState:UIControlStateNormal];
-
- if (titleColor != nil)
- [button setTitleColor:titleColor forState:UIControlStateNormal];
-
- if (font != nil)
- [button.titleLabel setFont:font];
-
- if (normalImage != nil) {
- [button setBackgroundImage:[UIFactory resizableImageWithSize:fixedSize image:[UIImage imageNamed:normalImage]]
- forState:UIControlStateNormal];
- }
-
- if (clickIamge != nil) {
- [button setBackgroundImage:[UIFactory resizableImageWithSize:fixedSize image:[UIImage imageNamed:clickIamge]]
- forState:UIControlStateHighlighted];
- }
-
- if ((selector != nil) && (target != nil))
- [button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside];
-
- return button;
- }
- + (UIButton *)createButtonWithRect:(CGRect)frame
- title:(NSString *)title
- titleFont:(UIFont *)font
- titleColor:(UIColor *)titleColor
- normal:(NSString *)normalImage
- highlight:(NSString *)clickIamge
- selected:(NSString *)selectedImage
- selector:(SEL)selector
- target:(id)target
- {
- UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
- button.frame = frame;
- button.backgroundColor = [UIColor clearColor];
- if (title != nil)
- [button setTitle:title forState:UIControlStateNormal];
-
- if (titleColor != nil)
- [button setTitleColor:titleColor forState:UIControlStateNormal];
-
- if (font != nil)
- [button.titleLabel setFont:font];
-
- if (normalImage != nil)
- [button setBackgroundImage:[UIImage imageNamed:normalImage] forState:UIControlStateNormal];
-
- if (clickIamge != nil)
- [button setBackgroundImage:[UIImage imageNamed:clickIamge] forState:UIControlStateHighlighted];
-
- if (selectedImage != nil)
- [button setBackgroundImage:[UIImage imageNamed:selectedImage] forState:UIControlStateSelected];
-
- if ((selector != nil) && (target != nil))
- [button addTarget:target action:selector forControlEvents:UIControlEventTouchDown];
-
- return button;
-
- }
- + (UITextField *)createTextFieldWithRect:(CGRect)frame
- keyboardType:(UIKeyboardType)keyboardType
- secure:(BOOL)secure
- placeholder:(NSString *)placeholder
- font:(UIFont *)font
- color:(UIColor *)color
- delegate:(id)delegate;
- {
- UITextField *textField = [UIFactory createTextFieldWith:frame
- delegate:delegate
- returnKeyType:UIReturnKeyNext
- secureTextEntry:secure
- placeholder:placeholder
- font:font];
- textField.borderStyle = UITextBorderStyleRoundedRect;
- textField.clearButtonMode = UITextFieldViewModeWhileEditing;
- textField.keyboardType = keyboardType;
- if (color != nil)
- [textField setTextColor:color];
-
- return textField;
- }
- +(UIButton*)createCheckButtonWithRect:(CGRect)frame
- selector:(SEL)selector
- target:(id)target
- {
- UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
- button.frame = frame;
- [button setBackgroundImage:[UIImage imageNamed:@"com_checkbox1_normal"] forState:UIControlStateNormal];
- [button setBackgroundImage:[UIImage imageNamed:@"com_checkbox1_select"] forState:UIControlStateSelected];
- if ((selector != nil) && (target != nil))
- [button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside];
- return button;
- }
- +(UIButton*)createCheckButtonWithRect1:(CGRect)frame
- selector:(SEL)selector
- target:(id)target
- {
- UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
- button.frame = frame;
- [button setBackgroundImage:[UIImage imageNamed:@"select_none"] forState:UIControlStateNormal];
- [button setBackgroundImage:[UIImage imageNamed:@"select_default"] forState:UIControlStateSelected];
- if ((selector != nil) && (target != nil))
- [button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside];
- return button;
- }
- + (UIButton *)createRadioButtonWithRect:(CGRect)frame
- normalImage:(NSString *)normalImage
- selectedImage:(NSString *)selectedImage
- labelText:(NSString *)labelText
- textColor:(UIColor*)textColor
- selector:(SEL)selector
- target:(id)target
- thisView:(UIView*)thisView
- {
- UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
-
- CGRect frame1;
- frame1 = CGRectMake(CGRectGetMinX(frame), CGRectGetMinY(frame), 25,25);
- button.frame = frame1;
- [button setBackgroundImage:[UIImage imageNamed:normalImage] forState:UIControlStateNormal];
- [button setBackgroundImage:[UIImage imageNamed:selectedImage] forState:UIControlStateSelected];
- [button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside];
- [thisView addSubview:button];
- frame1 = CGRectMake(CGRectGetMinX(frame)+30, CGRectGetMinY(frame), CGRectGetWidth(frame)-30,CGRectGetHeight(frame));
- JXLabel* label = [[JXLabel alloc]initWithFrame:frame1];
- label.backgroundColor = [UIColor clearColor];
- label.text = labelText;
- label.userInteractionEnabled = YES;
- label.textColor = textColor;
- label.font = [UIFactory sharedUIFactory].font16;
- label.didTouch = selector;
- label.delegate = target;
- [thisView addSubview:label];
-
- return button;
- }
- + (UIButton *)createRadioButtonWithRect:(CGRect)frame
- labelText:(NSString *)labelText
- textColor:(UIColor*)textColor
- selector:(SEL)selector
- target:(id)target
- thisView:(UIView*)thisView
- {
- UIButton* button = [self createRadioButtonWithRect:frame
- normalImage:@"com_radiobox_normal"
- selectedImage:@"com_radiobox_select"
- labelText:labelText
- textColor:textColor
- selector:selector
- target:target
- thisView:thisView];
- return button;
- }
- +(UIButton*)createTopButton:(NSString*)s action:(SEL)action target:(id)target{
- UIButton* btn = [UIFactory createButtonWithRect:CGRectMake(5, 5, 70, 30)
- title:s
- titleFont:[UIFactory sharedUIFactory].font13
- titleColor:nil
- normal:@"enter"
- highlight:nil
- selector:action
- target:target
- ];
- // btn.showsTouchWhenHighlighted = YES;
- return btn;
- }
- + (UINavigationBar *)createNavigationBarWithBackgroundImage:(UIImage *)backgroundImage title:(NSString *)title {
- UINavigationBar *customNavigationBar = [[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, JX_SCREEN_WIDTH, 44)];
- UIImageView *navigationBarBackgroundImageView = [[UIImageView alloc] initWithImage:backgroundImage];
- [customNavigationBar addSubview:navigationBarBackgroundImageView];
- // [navigationBarBackgroundImageView release];
- UINavigationItem *navigationTitle = [[UINavigationItem alloc] initWithTitle:title];
- [customNavigationBar pushNavigationItem:navigationTitle animated:NO];
- // [navigationTitle release];
- return customNavigationBar;
- }
- + (void)showAlert:(NSString *)message
- {
- AlertView *view = [[AlertView alloc] initWithTitle:@""
- message:message
- delegate:nil
- cancelButtonTitle:[UIFactory localized:@"Ok"]
- otherButtonTitles:nil, nil];
- [view show];
- }
- + (void)dissAlert{
-
- }
- + (void)showAlert:(NSString *)message tag:(NSUInteger)tag delegate:(id)delegate
- {
- AlertView *view = [[AlertView alloc] initWithTitle:@""
- message:message
- delegate:delegate
- cancelButtonTitle:[UIFactory localized:@"Ok"]
- otherButtonTitles:nil, nil];
- view.tag = tag;
- [view show];
- }
- + (void)showConfirm:(NSString *)message tag:(NSUInteger)tag delegate:(id)delegate
- {
- ConfirmView *view = [[ConfirmView alloc] initWithTitle:@""
- message:message
- delegate:delegate
- cancelButtonTitle:[UIFactory localized:@"Cancel"]
- otherButtonTitles:[UIFactory localized:@"Ok"], nil];
- view.tag = tag;
- [view show];
- }
- + (NSString *)localized:(NSString *)key
- {
- NSString *langCode = @"";
-
- if ([[NSUserDefaults standardUserDefaults] stringForKey:kDefaultIsFirstLaunch] == nil) {
- NSUserDefaults *defs = [NSUserDefaults standardUserDefaults];
- NSArray *languages = [defs objectForKey:@"AppleLanguages"];
- langCode = [languages objectAtIndex:0];
- if ([langCode isEqualToString:@"zh-Hans"] == NO)
- langCode = @"en";
- } else {
- NSString *appLanguage = [[NSUserDefaults standardUserDefaults] stringForKey:kDefaultLanguage];
- if ([appLanguage isEqualToString:@"English"] == YES) {
- langCode = @"en";
- } else {
- langCode = @"zh-Hans";
- }
- }
-
- NSString *path = [[NSBundle mainBundle] pathForResource:langCode ofType:@"lproj"];
- NSBundle *languageBundle = [NSBundle bundleWithPath:path];
- return [languageBundle localizedStringForKey:key value:@"" table:nil];
- }
- + (BOOL)isValidIPAddress:(NSString *)address
- {
- if ([address length] < 1)
- return NO;
-
- struct in_addr addr;
- return (inet_aton([address UTF8String], &addr) == 1);
- }
- + (BOOL)isValidPortAddress:(NSString *)address
- {
- return [UIFactory checkIntValueRange:address min:1 max:65535];
- }
- + (BOOL)checkIntValueRange:(NSString *)value min:(int)min max:(int)max
- {
- if ([value length] < 1)
- return NO;
-
- NSScanner * scanner = [NSScanner scannerWithString:value];
- if ([scanner scanInt:nil] && [scanner isAtEnd]) {
- // NSLog(@"min = %u, max = %u, value = %u %@", min, max, [value integerValue], value);
- return (min <= [value integerValue]) && ([value integerValue] <= max);
- }
-
- return NO;
- }
- + (NSString *)checkValidName:(NSString *)value
- {
- if ([value length] == 0) {
- [self showAlert:[self localized:@"ContactInputNamePrompt"]];
- return nil;
- }
-
- NSString *newString = [value stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
- if ([newString length] > 0) {
- NSString *str = [newString stringByTrimmingCharactersInSet:[NSCharacterSet alphanumericCharacterSet]];
- if ([str length] == 0)
- return newString;
- }
- [self showAlert:[self localized:@"ContactInputValidNamePrompt"]];
-
- return nil;
- }
- + (NSString *)checkValidPhoneNumber:(NSString *)value
- {
- if ([value length] == 0) {
- [self showAlert:[self localized:@"ContactInputPhonePrompt"]];
- return nil;
- }
-
- NSString *newString = [value stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
- if ([newString length] > 0) {
- NSString *str = [newString stringByTrimmingCharactersInSet:[NSCharacterSet decimalDigitCharacterSet]];
- if ([str length] == 0)
- return newString;
- }
- [self showAlert:[self localized:@"ContactInputValidPhonePrompt"]];
- return nil;
- }
- + (NSString *)stringFromDate:(NSDate *)date format:(NSString *)formatStr
- {
- NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
- [formatter setTimeZone:[NSTimeZone localTimeZone]];
- [formatter setDateFormat:formatStr];
- NSLocale *timeLocale;
- NSString *appLanguage = [[NSUserDefaults standardUserDefaults] stringForKey:kDefaultLanguage];
- if ([appLanguage isEqualToString:@"English"] == YES) {
- timeLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en"];
- } else {
- timeLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh"];
- }
- [formatter setLocale:timeLocale];
-
- NSString *str = [formatter stringFromDate:date];
- // [timeLocale release];
- // [formatter release];
- return str;
- }
- + (NSDate *)dateFromString:(NSString *)str format:(NSString *)formatStr
- {
- NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
- [formatter setTimeZone:[NSTimeZone localTimeZone]];
- [formatter setDateFormat:formatStr];
-
- NSLocale *timeLocale;
- NSString *appLanguage = [[NSUserDefaults standardUserDefaults] stringForKey:kDefaultLanguage];
- if ([appLanguage isEqualToString:@"English"] == YES) {
- timeLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en"];
- } else {
- timeLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh"];
- }
- [formatter setLocale:timeLocale];
-
- NSDate *date = [formatter dateFromString:str];
-
- // [timeLocale release];
- // [formatter release];
- return date;
- }
- +(void)freeTable:(NSMutableArray*)pool{
- if(pool==nil)
- return;
- // NSLog(@"App.freeTable.count=%d",[pool count]);
- for(NSInteger i=[pool count]-1;i>=0;i--){
- id p = [pool objectAtIndex:i];
- if([p isKindOfClass:[UIView class]]){
- for(NSInteger i=[[p subviews] count]-1;i>=0;i--)
- [[[p subviews] objectAtIndex:i] removeFromSuperview];
- [p removeFromSuperview];
- }
- if([p isKindOfClass:[NSMutableArray class]]){
- // NSLog(@"array.count=%d",[p retainCount]);
- //[p removeAllObjects];
- }
- if([p isKindOfClass:[NSMutableDictionary class]]){
- // NSLog(@"dict.count=%d",[p retainCount]);
- //[p removeAllObjects];
- }
- [pool removeObjectAtIndex:i];
- // [p release];
- }
- }
- +(void)addToPool:(NSMutableArray*)pool object:(NSObject*)object{
- if(pool == nil || object==nil)
- return;
- [pool addObject:object];
- }
- +(void)onGotoBack:(UIViewController*)vc{
- CGContextRef context = UIGraphicsGetCurrentContext();
- [UIView beginAnimations:nil context:context];
- [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
- [UIView setAnimationDuration:0.2];
-
- vc.view.frame = CGRectMake (JX_SCREEN_WIDTH, 0, vc.view.frame.size.width, vc.view.frame.size.height);
-
- [UIView commitAnimations];
- [NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(doQuit:) userInfo:vc repeats:NO];
- }
- +(void)doQuit:(NSTimer*)timer{
- UIViewController* vc = timer.userInfo;
- [vc.view removeFromSuperview];
- // [vc release];
- vc = nil;
- }
- -(void)removeAllChild:(UIView*)parent{
- for(NSInteger i=[[parent subviews] count]-1;i>=0;i--){
- [[[parent subviews] objectAtIndex:i] removeFromSuperview];
- }
- }
- +(UIView*)createLine:(UIColor*)color parent:(UIView*)parent{
- UIView* line = [[UIView alloc]initWithFrame:CGRectMake(0,0,parent.frame.size.width,0.5)];
- line.backgroundColor = color;
- [parent addSubview:line];
- return line;
- }
- +(UIView*)createLine:(UIView*)parent{
- return [self createLine:THE_LINE_COLOR parent:parent];
- }
- @end
|