Common IOS code sorting

Source: Internet
Author: User

1. Change the background of the 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. capture screen images

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

3. custom string color, copy code, and can be used directly

+ (Uicolor *) colorwithhexstring: (nsstring *) stringtoconvert {nsstring * cstring = [[stringtoconvert character: [nscharacterset whitespaceandnewlinecharacterset] uppercasestring]; // remove the leading and trailing space line breaks // string shocould 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 nsange 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; [[ns1_scannerwithstring: rstring] scanhexint: & R]; // scan the hexadecimal value to int [[ns1_scannerwithstring: gstring] scanhexint: & G]; [ns1_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. compress the image, the required parameters, the image to be processed, and the size of the new image.

-(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. Obtain the Label Size Based on the label content, Font, font size, and width. It is generally used to calculate the label height.

+(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. convert data into 64-bit binary data, which is generally used for image uploading.

+(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;}

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

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.