iOS - label Adaptive High

1366 단어
//다음은 제 프로젝트에서 코드의 한 단락입니다. 참고만 하시고 이해하시기 바랍니다.
    NSString *tmpIntroduction = nil;
    tmpIntroduction = recommentMessage.bookIntroduction;
    NSLog(@"      :%@",tmpIntroduction);
    
    UIFont *font = [UIFont fontWithName:@"Arial" size:11];
    NSDictionary *dict = @{NSFontAttributeName:font};
    CGSize setSize = CGSizeMake([UIScreen mainScreen].bounds.size.width - 10, MAXFLOAT);
    
    //          rect,        
    CGRect tmpRect = [tmpIntroduction boundingRectWithSize:setSize options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil];
    
    CGFloat height = tmpRect.size.height;
    
    NSLog(@"     :%f",

height);
//이것은 NSString의 대상 방법입니다. 문자열 실례 대상이 이 방법을 호출할 때, 방법은 전송된 매개 변수를 통해 CGRect 형식의 데이터를 되돌려줍니다. 이 데이터의 크기는 바로 이때 문자열이 텍스트로 표시되는 크기입니다.
//size: 텍스트를 그릴 때 차지하는 직사각형 블록의 크기를 제한합니다.예를 들어 이 예:size.w는 현재 화면 너비 - 10,size.h는 모든 텍스트 내용을 표시하기 위해 무한대 MAXFLOAT로 설정할 수 있습니다.
//options: 일반적으로 NSStringDrawingUsesLineFragmentOrigin을 사용하여 전체 텍스트가 각 행으로 구성된 직사각형 단위로 전체 텍스트의 크기를 계산한다는 것을 나타내는 추가 옵션입니다.
//attributes: 본문의 UIFont을 사전에 저장해서 여기에 전송합니다. 예를 들어 NSDictionary*dic = @ {NSFontAttributeName:font};
//context:context 상하문, 예를 들어 글자의 간격을 어떻게 조정하고 축소하는지를 포함한다.이 매개 변수는 보통 nil로 설정됩니다.
//주의: 계산된 텍스트가 주어진 최대 폭을 초과하면 최대 폭을 되돌려줍니다.만약 초과하지 않으면 실제 점용의 폭을 되돌려줍니다

좋은 웹페이지 즐겨찾기