IOS常用代碼整理

來源:互聯網
上載者:User

1、更改cell選中的背景

UIView *cellView = [[UIView alloc] init];cellView.frame = CGRectMake(0, 0, 320, 44);cellView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"xxx.png"]];cell.selectedBackgroundView = cellView;

2、截取螢幕圖片

UIGraphicsBeginImageContext(CGSizeMake(xxx,xxx));[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];UIImage *aImage = UIGraphicsGetImageFromCurrentImageContext();UIGraphicsEndImageContext();imageData = UIImagePNGRepresentation(aImage);

3、自訂字串顏色,拷代碼,可直接用

+ (UIColor *) colorWithHexString: (NSString *) stringToConvert{    NSString *cString = [[stringToConvert stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]] uppercaseString]; //去掉前後空格分行符號    // String should be 6 or 8 characters    if ([cString length] < 6) return [UIColor redColor];    // strip 0X if it appears    if ([cString hasPrefix:@"0X"]) cString = [cString substringFromIndex:2];    if ([cString hasPrefix:@"#"]) cString = [cString substringFromIndex:1];    if ([cString length] != 6) return [UIColor redColor];    // Separate into r, g, b substrings    NSRange range;    range.location = 0;    range.length = 2;    NSString *rString = [cString substringWithRange:range];    range.location = 2;    NSString *gString = [cString substringWithRange:range];    range.location = 4;    NSString *bString = [cString substringWithRange:range];    // Scan values    unsigned int r, g, b;    [[NSScanner scannerWithString:rString] scanHexInt:&r];  //掃描16進位到int    [[NSScanner scannerWithString:gString] scanHexInt:&g];    [[NSScanner scannerWithString:bString] scanHexInt:&b];    return [UIColor colorWithRed:((float) r / 255.0f)                           green:((float) g / 255.0f)                            blue:((float) b / 255.0f)                           alpha:1.0f];}

4、壓縮圖片,所需參數,需要處理的圖片,新圖片的size

- (UIImage*)imageWithImageSimple:(UIImage*)image scaledToSize:(CGSize)newSize

{

    UIGraphicsBeginImageContext(newSize);

    [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];

    UIImage* newImage =
UIGraphicsGetImageFromCurrentImageContext();

    UIGraphicsEndImageContext();

    return newImage;

}

5、得到Label的Size,根據Label的內容,字型,字型大小,寬度。一般用於求Label的高度。

+(CGSize)getSizeForLabel:(NSString *)str fontFamily:(NSString *)fontFamily fontSize:(CGFloat)fontSize width:(NSInteger)labelWidth{    UIFont *font = [UIFontfontWithName:fontFamily size:fontSize];    CGSize size = CGSizeMake(labelWidth,3000);    return [strsizeWithFont:font constrainedToSize:sizelineBreakMode:UILineBreakModeCharacterWrap];}

6、將data轉換成64位的二進位,一般用於圖片的上傳。

+(NSString*) base64Encode:(NSData *)data{    static char base64EncodingTable[64] = {        'A', 'B','C', 'D', 'E','F', 'G', 'H','I', 'J', 'K','L', 'M', 'N','O', 'P',        'Q', 'R','S', 'T', 'U','V', 'W', 'X','Y', 'Z', 'a','b', 'c', 'd','e', 'f',        'g', 'h','i', 'j', 'k','l', 'm', 'n','o', 'p', 'q','r', 's', 't','u', 'v',        'w', 'x','y', 'z', '0','1', '2', '3','4', '5', '6','7', '8', '9','+', '/'    };    int length = [data length];    unsigned long ixtext, lentext;    long ctremaining;    unsigned char input[3], output[4];    short i, charsonline = 0, ctcopy;    const unsignedchar *raw;    NSMutableString *result;        lentext = [data length];     if (lentext < 1)        return @"";    result = [NSMutableStringstringWithCapacity: lentext];    raw = [data bytes];    ixtext = 0;         while (true) {        ctremaining = lentext - ixtext;        if (ctremaining <= 0)             break;                for (i = 0; i <3; i++) {             unsigned long ix = ixtext + i;            if (ix < lentext)                input[i] = raw[ix];            else                input[i] = 0;        }        output[0] = (input[0] &0xFC) >> 2;        output[1] = ((input[0] &0x03) << 4) | ((input[1] &0xF0) >> 4);        output[2] = ((input[1] &0x0F) << 2) | ((input[2] &0xC0) >> 6);        output[3] = input[2] &0x3F;        ctcopy = 4;        switch (ctremaining) {            case 1:                 ctcopy = 2;                 break;            case 2:                 ctcopy = 3;                 break;        }                for (i = 0; i < ctcopy; i++)            [result appendString: [NSStringstringWithFormat: @"%c", base64EncodingTable[output[i]]]];                for (i = ctcopy; i < 4; i++)            [result appendString: @"="];                ixtext += 3;        charsonline += 4;                if ((length > 0) && (charsonline >= length))            charsonline = 0;    }         return result;}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.