본문 바로가기
프로그래밍/Xcode-iOS

iOS boundingRectWithSize 구하기.

by Mr-후 2019. 11. 5.
반응형

iOS boundingRectWithSize 구하기.




이게 자주 쓰이는 함수는 아니지만 가끔 필요한 경우가 있는데 굳이 포스팅으로 올려 두는 이유는 나 같은 경우에 처한 사람들을 위해서 올려둔다. 

라벨의 높이와 넓이를 동적으로 구하기 위해 라벨을 인자로 받아 안에 든 내용에 따라 높이와 가로 사이즈를 구하는 예제이다. 


+ (CGFloat)heightOfLabel:(UILabel *)label {

    UIFont          * font;

    CGFloat         width;

    CGSize          stringSize;

    

    font = [label font];

    width = [label frame].size.width;

    

    stringSize = [label.text boundingRectWithSize:CGSizeMake(width, MAXFLOAT)

                                          options:NSStringDrawingUsesLineFragmentOrigin

                                       attributes:@{NSFontAttributeName:label.font}

                                          context:nil].size;

    

    return stringSize.height;

}



+ (CGFloat)widthOfLabel:(UILabel *)label {

    UIFont          * font;

    CGFloat         height;

    CGSize          stringSize;

    

    font = [label font];

    height = [label frame].size.height;

    

    stringSize = [label.text boundingRectWithSize:CGSizeMake(MAXFLOAT, height)

                                          options:NSStringDrawingUsesLineFragmentOrigin

                                       attributes:@{NSFontAttributeName:label.font}

                                          context:nil].size;

    

    return stringSize.width;

}



반응형