//Label设置换行

label.lineBreakMode = UILineBreakModeWordWrap; 
label.numberOfLines = 0;

 

每日分享 Locale Util 取得当前的国家和语言设定   

 

 

 

复制代码

  1.  
  2.  
  3. #import <Foundation/Foundation.h>
  4.  
  5.  
  6. @interface LocaleUtils : NSObject {
  7.  
  8. }
  9.  
  10. + (NSString *)getCountryCode;
  11. + (NSString *)getLanguageCode;
  12.  
  13. @end
  14.  
  15.  

 

 

 

复制代码

  1.  
  2.  
  3. #import "LocaleUtils.h"
  4.  
  5.  
  6. @implementation LocaleUtils
  7.  
  8. + (NSString *)getCountryCode
  9. {
  10.     NSLocale *currentLocale = [NSLocale currentLocale];
  11.     
  12. //    NSLog(@"Country Code is %@", [currentLocale objectForKey:NSLocaleCountryCode]);    
  13.     return [currentLocale objectForKey:NSLocaleCountryCode];
  14. }
  15.  
  16. + (NSString *)getLanguageCode
  17. {
  18.     NSLocale *currentLocale = [NSLocale currentLocale];
  19.     
  20.     NSLog(@"Language Code is %@", [currentLocale objectForKey:NSLocaleLanguageCode]);    
  21.     
  22.     return [currentLocale objectForKey:NSLocaleLanguageCode];
  23. }
  24.  
  25.  
  26. @end
  27.  

 

每日分享 检测iPhoneiPod TouchiPad设备类型   

 

 

更新了一下,支持iPhone4iPadiPod Touch4

 

#import <Foundation/Foundation.h>

#import <sys/utsname.h>

 

enum {

    MODEL_UNKNOWN,

    MODEL_IPHONE_SIMULATOR,

    MODEL_IPOD_TOUCH,

    MODEL_IPOD_TOUCH_2G,

    MODEL_IPOD_TOUCH_3G,

    MODEL_IPOD_TOUCH_4G,

    MODEL_IPHONE,

    MODEL_IPHONE_3G,

    MODEL_IPHONE_3GS,

    MODEL_IPHONE_4G,

    MODEL_IPAD

};

 

@interface DeviceDetection : NSObject

 

+ (uint) detectDevice;

+ (int) detectModel;

 

+ (NSString *) returnDeviceName:(BOOL)ignoreSimulator;

+ (BOOL) isIPodTouch;

+ (BOOL) isOS4;

+ (BOOL) canSendSms;

 

@end

 

 

#import "DeviceDetection.h"

#import <MessageUI/MessageUI.h>

#include <sys/types.h>

#include <sys/sysctl.h>

 

@implementation DeviceDetection

 

+ (BOOL) isIPodTouch

{

    int model = [DeviceDetection detectDevice];

    if (model == MODEL_IPOD_TOUCH || model == MODEL_IPAD){

        //|| model == MODEL_IPHONE_SIMULATOR){

        return YES;

    }    

    else {

        return NO;

    }

 

}

 

+ (BOOL) isOS4

{

    // TBD

    

    return YES;

    

}

 

+ (BOOL)canSendSms

{

    return [MFMessageComposeViewController canSendText];

}

 

+ (NSString *)platform{

    size_t size;

    sysctlbyname("hw.machine", NULL, &size, NULL, 0);

    char *machine = malloc(size);

    sysctlbyname("hw.machine", machine, &size, NULL, 0);

    NSString *platform = [NSString stringWithUTF8String:machine];

    free(machine);

    return platform;

}

 

+ (int) detectModel{

    NSString *platform = [DeviceDetection platform];

    

    if ([platform isEqualToString:@"iPhone1,1"])   

        return MODEL_IPHONE;

    

    if ([platform isEqualToString:@"iPhone1,2"])   

        return MODEL_IPHONE_3G;

    

    if ([platform isEqualToString:@"iPhone2,1"])

        return MODEL_IPHONE_3GS;

    

    if ([platform isEqualToString:@"iPhone3,1"])    

        return MODEL_IPHONE_4G;

    

    if ([platform isEqualToString:@"iPod1,1"])      

        return MODEL_IPOD_TOUCH;

    

    if ([platform isEqualToString:@"iPod2,1"])      

        return MODEL_IPOD_TOUCH_2G;

    

    if ([platform isEqualToString:@"iPod3,1"])      

        return MODEL_IPOD_TOUCH_3G;

    

    if ([platform isEqualToString:@"iPod4,1"])      

        return MODEL_IPOD_TOUCH_4G;

    

    if ([platform isEqualToString:@"iPad1,1"])      

        return MODEL_IPAD;

    

    if ([platform isEqualToString:@"i386"])         

        return MODEL_IPHONE_SIMULATOR;

    

    return MODEL_UNKNOWN;

}

 

 

+ (uint) detectDevice {

    NSString *model= [[UIDevice currentDevice] model];

    

    // Some iPod Touch return "iPod Touch", others just "iPod"

    

    NSString *iPodTouch = @"iPod Touch";

    NSString *iPodTouchLowerCase = @"iPod touch";

    NSString *iPodTouchShort = @"iPod";

    NSString *iPad = @"iPad";

    

    NSString *iPhoneSimulator = @"iPhone Simulator";

    

    uint detected;

    

    if ([model compare:iPhoneSimulator] == NSOrderedSame) {

        // iPhone simulator

        detected = MODEL_IPHONE_SIMULATOR;

    }

    else if ([model compare:iPad] == NSOrderedSame) {

        // iPad

        detected = MODEL_IPAD;

    } else if ([model compare:iPodTouch] == NSOrderedSame) {

        // iPod Touch

        detected = MODEL_IPOD_TOUCH;

    } else if ([model compare:iPodTouchLowerCase] == NSOrderedSame) {

        // iPod Touch

        detected = MODEL_IPOD_TOUCH;

    } else if ([model compare:iPodTouchShort] == NSOrderedSame) {

        // iPod Touch

        detected = MODEL_IPOD_TOUCH;

    } else {

        // Could be an iPhone V1 or iPhone 3G (model should be "iPhone")

        struct utsname u;

        

        // u.machine could be "i386" for the simulator, "iPod1,1" on iPod Touch, "iPhone1,1" on iPhone V1 & "iPhone1,2" on iPhone3G

        

        uname(&u);

        

        if (!strcmp(u.machine, "iPhone1,1")) {

            detected = MODEL_IPHONE;

        } else if (!strcmp(u.machine, "iPhone1,2")){

            detected = MODEL_IPHONE_3G;

        } else if (!strcmp(u.machine, "iPhone2,1")){

            detected = MODEL_IPHONE_3GS;

        } else if (!strcmp(u.machine, "iPhone3,1")){

            detected = MODEL_IPHONE_4G;

        }

    }

    return detected;

}

 

+ (NSString *) returnDeviceName:(BOOL)ignoreSimulator {

    NSString *returnValue = @"Unknown";

    

    switch ([DeviceDetection detectDevice]) {

        case MODEL_IPHONE_SIMULATOR:

            if (ignoreSimulator) {

                returnValue = @"iPhone 3G";

            } else {

                returnValue = @"iPhone Simulator";

            }

            break;

        case MODEL_IPOD_TOUCH:

            returnValue = @"iPod Touch";

            break;

        case MODEL_IPHONE:

            returnValue = @"iPhone";

            break;

        case MODEL_IPHONE_3G:

            returnValue = @"iPhone 3G";

            break;

        default:

            break;

    }

    

    return returnValue;

}

 

@end