oscarimonbox
6/13/2016 - 11:18 AM

Calcular dimensiones texto con fuente

Calcular dimensiones texto con fuente

-(CGFloat) gettingSizeLabel: (NSString*) text
                    padding: (int) padding
                   withFont: (NSString*) fontName
                    andSize: (int) fontSize {
    
    /*
     for (NSString *familyName in [UIFont familyNames]){
     NSLog(@"Family name: %@", familyName);
     for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
     NSLog(@"--Font name: %@", fontName);
     }
     }
     */
    UILabel *gettingSizeLabel = [[UILabel alloc] init];
    UIFont *font = [UIFont fontWithName:fontName size:fontSize];
    
    gettingSizeLabel.font = font;
    gettingSizeLabel.text = text;
    gettingSizeLabel.numberOfLines = 0;
    gettingSizeLabel.lineBreakMode = NSLineBreakByWordWrapping;
    CGSize maximumLabelSize = CGSizeMake(self.view.frame.size.width-padding, 9999);
    
    CGSize expectSize = [gettingSizeLabel sizeThatFits:maximumLabelSize];
    
    return expectSize.height;
    
}


    UILabel *gettingSizeLabel = [[UILabel alloc] init];
    UIFont *font = [UIFont fontWithName:@FONT_REGULAR size:15];
    
    LOPlace *p = self.selectedPlace;
    
    gettingSizeLabel.font = font;
    gettingSizeLabel.text = p.placeAddress;
    gettingSizeLabel.numberOfLines = 0;
    gettingSizeLabel.lineBreakMode = NSLineBreakByWordWrapping;
    CGSize maximumLabelSize = CGSizeMake(self.vPlaceContent.frame.size.width-130, 9999); //23+20+27+20
    
    CGSize expectSize = [gettingSizeLabel sizeThatFits:maximumLabelSize];
    
    if ((expectSize.height+63)<80){ //5+20+5
        self.cConstraintHeight.constant = 80;
    }else{
        self.cConstraintHeight.constant = expectSize.height+63;
    }