iPhone: Полезни класове или разширени подкласове (категории), които трябваше да бъдат в SDK

Това е по-скоро публикация за споделяне в общността, отколкото истински въпрос. В моите проекти за iPhone OS винаги импортирам помощен клас с полезни методи, които мога да използвам за всеки проект.

Така че си помислих, че може да е добра идея, ако всеки сподели някои от любимите си методи, които трябваше да бъдат в инструментариума на всеки.

Ще започна с разширение на класа NSString, така че мога да правя низове с дати в движение, предоставяйки формат и локал. Може би някой може да намери нужда от това.

   @implementation NSString (DateHelper)

+(NSString *) stringWithDate:(NSDate*)date withFormat:(NSString *)format withLocaleIdent:(NSString*)localeString{ 
 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    //For example @"de-DE", or @"en-US"
 NSLocale *locale = [[NSLocale alloc] initWithLocaleIdentifier:localeString];  
 [dateFormatter setLocale:locale];

    // For example @"HH:mm"
 [dateFormatter setDateFormat:format];  

 NSString *string = [dateFormatter stringFromDate:date];

 [dateFormatter release];
 [locale release];

 return string;  
} 
@end

Ще се радвам да видя някои от вашите инструменти.


person Community    schedule 02.06.2010    source източник
comment
редактирано в wiki на общността, благодаря   -  person scud    schedule 09.06.2010


Отговори (1)


@implementation UIDevice (OrientationAddition)
- (UIInterfaceOrientation)vagueOrientation {

    if ([[UIApplication sharedApplication] statusBarFrame].size.height > 40){
        return UIInterfaceOrientationLandscapeLeft;
    }

    return UIInterfaceOrientationPortrait;
}
@end

Използвам го за определяне на ориентация, преди да се извика нещо друго, също и в това:

@implementation UIScreen (BoundsAddition)
- (CGRect)actualBounds {

    CGRect fakeBounds = self.bounds;
    if (UIInterfaceOrientationIsPortrait([[UIDevice currentDevice] vagueOrientation])){
        return fakeBounds;
    }

    return CGRectMake(0, 0, fakeBounds.size.height, fakeBounds.size.width);
}
@end

Което връща граници въз основа на ориентация.

person Tom Irving    schedule 03.06.2010