UILabelの高さを動的に計算する方法は?

Hitesh

指定されたテキストからUILabelの行数と高さを動的に計算したいと思います。

Vijay-Apple-Dev.blogspot.com

これを試して

// UILabel *myLabel;

CGSize labelSize = [myLabel.text sizeWithFont:myLabel.font 
                            constrainedToSize:myLabel.frame.size 
                                lineBreakMode:NSLineBreakByWordWrapping];

CGFloat labelHeight = labelSize.height;


int lines = [myLabel.text sizeWithFont:myLabel.font 
                     constrainedToSize:myLabel.frame.size 
                         lineBreakMode:NSLineBreakByWordWrapping].height/16; 
             // '16' is font size

または

int lines = labelHeight/16;

NSLog(@"lines count : %i \n\n",lines);  

または

int lines = [myLabel.text sizeWithFont:myLabel.font 
                     constrainedToSize:myLabel.frame.size 
                         lineBreakMode:UILineBreakModeWordWrap].height /myLabel.font.pointSize; //fetching font size from font

カテゴリを使用して、次の名前のカテゴリクラスを作成するだけです

UILabel + UILabelDynamicHeight.h

UILabel + UILabelDynamicHeight.m

高さの計算についての緊張はもうありません。以下の実装を確認してください。

iOS7以降、iOS 7以下のアップデート:UILabelの高さを動的に計算します

#define SYSTEM_VERSION_EQUAL_TO(v)                  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v)              ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v)  ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v)                 ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v)     ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)
#define iOS7_0 @"7.0"

UILabel + UILabelDynamicHeight.h

#import <UIKit/UIKit.h>
@interface UILabel (UILabelDynamicHeight)

#pragma mark - Calculate the size the Multi line Label
/*====================================================================*/

    /* Calculate the size of the Multi line Label */

/*====================================================================*/
/**
 *  Returns the size of the Label
 *
 *  @param aLabel To be used to calculte the height
 *
 *  @return size of the Label
 */
 -(CGSize)sizeOfMultiLineLabel;

@end

UILabel + UILabelDynamicHeight.m

#import "UILabel+UILabelDynamicHeight.h"
@implementation UILabel (UILabelDynamicHeight)


#pragma mark - Calculate the size,bounds,frame of the Multi line Label
/*====================================================================*/

/* Calculate the size,bounds,frame of the Multi line Label */

/*====================================================================*/
/**
 *  Returns the size of the Label
 *
 *  @param aLabel To be used to calculte the height
 *
 *  @return size of the Label
 */
-(CGSize)sizeOfMultiLineLabel{

    //Label text
    NSString *aLabelTextString = [self text];

    //Label font
    UIFont *aLabelFont = [self font];

    //Width of the Label
    CGFloat aLabelSizeWidth = self.frame.size.width;


    if (SYSTEM_VERSION_LESS_THAN(iOS7_0)) {
        //version < 7.0

        return [aLabelTextString sizeWithFont:aLabelFont
                            constrainedToSize:CGSizeMake(aLabelSizeWidth, MAXFLOAT)
                                lineBreakMode:NSLineBreakByWordWrapping];
    }
    else if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(iOS7_0)) {
        //version >= 7.0

        //Return the calculated size of the Label
        return [aLabelTextString boundingRectWithSize:CGSizeMake(aLabelSizeWidth, MAXFLOAT)
                                              options:NSStringDrawingUsesLineFragmentOrigin
                                           attributes:@{
                                                        NSFontAttributeName : aLabelFont
                                                        }
                                              context:nil].size;

    }

    return [self bounds].size;

}
@end

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

UILabelの高さを動的に計算するにはどうすればよいですか

分類Dev

デバイスに応じてUITableViewCellの高さを動的に計算する方法

分類Dev

内部のUILabelに基づいてUIViewを自動高さにする方法は?

分類Dev

木の高さを計算する方法

分類Dev

collectionViewセルの高さを動的に計算する

分類Dev

SwiftUIでタブバーの高さを計算する方法は?

分類Dev

jsPDFで垂直方向の高さを計算する方法は?

分類Dev

動的に作成された入力の値の合計を計算する方法は?

分類Dev

AndroidでlistViewの合計行の高さを計算する方法は?

分類Dev

増加の合計を動的に計算する方法は?

分類Dev

ID値を動的に入力してdivの高さを計算する

分類Dev

テキストの長さに基づいてUILabelの幅を計算する方法は?

分類Dev

ビューツリーにビューを追加する前にUIViewControllerの高さを計算する方法は?

分類Dev

Angularui-gridはグリッドの高さを動的に計算します

分類Dev

ceil()またはroundf()を使用してUILabelの高さとUIFontの高さ(行数)を計算しますか?

分類Dev

TableViewは、動的な幅と高さのラベルに対して誤った高さを計算します

分類Dev

何もレンダリングせずに弦の高さを計算する方法はありますか?

分類Dev

css三角形の高さを計算する方法は?

分類Dev

高さから発射体の範囲を計算する方法は?

分類Dev

すべてのセルの高さを再計算せずに、単一のUITableViewCellの高さを更新する方法はありますか?

分類Dev

rのネストされたリストの各要素の合計を動的に計算する方法は?

分類Dev

このhtmlの高さを計算する方法

分類Dev

色のリストを動的に計算する方法は?

分類Dev

インライン要素の高さを計算する方法

分類Dev

pyqtgraph:GraphicsLayoutWidgetの高さを計算する方法

分類Dev

自動レイアウトは、UITableViewCellの高さ(すべてのスタイル)を計算するときに複数行のdetailTextLabelを無視します

分類Dev

Objective cでUILabelの高さを動的に設定するにはどうすればよいですか?

分類Dev

sizeToFit を使用せずに UILabel のサイズを正確に計算する方法はありますか?

分類Dev

UITableViewCellの動的UILabelの高さを尊重するようにUIImageViewの高さを制限する

Related 関連記事

  1. 1

    UILabelの高さを動的に計算するにはどうすればよいですか

  2. 2

    デバイスに応じてUITableViewCellの高さを動的に計算する方法

  3. 3

    内部のUILabelに基づいてUIViewを自動高さにする方法は?

  4. 4

    木の高さを計算する方法

  5. 5

    collectionViewセルの高さを動的に計算する

  6. 6

    SwiftUIでタブバーの高さを計算する方法は?

  7. 7

    jsPDFで垂直方向の高さを計算する方法は?

  8. 8

    動的に作成された入力の値の合計を計算する方法は?

  9. 9

    AndroidでlistViewの合計行の高さを計算する方法は?

  10. 10

    増加の合計を動的に計算する方法は?

  11. 11

    ID値を動的に入力してdivの高さを計算する

  12. 12

    テキストの長さに基づいてUILabelの幅を計算する方法は?

  13. 13

    ビューツリーにビューを追加する前にUIViewControllerの高さを計算する方法は?

  14. 14

    Angularui-gridはグリッドの高さを動的に計算します

  15. 15

    ceil()またはroundf()を使用してUILabelの高さとUIFontの高さ(行数)を計算しますか?

  16. 16

    TableViewは、動的な幅と高さのラベルに対して誤った高さを計算します

  17. 17

    何もレンダリングせずに弦の高さを計算する方法はありますか?

  18. 18

    css三角形の高さを計算する方法は?

  19. 19

    高さから発射体の範囲を計算する方法は?

  20. 20

    すべてのセルの高さを再計算せずに、単一のUITableViewCellの高さを更新する方法はありますか?

  21. 21

    rのネストされたリストの各要素の合計を動的に計算する方法は?

  22. 22

    このhtmlの高さを計算する方法

  23. 23

    色のリストを動的に計算する方法は?

  24. 24

    インライン要素の高さを計算する方法

  25. 25

    pyqtgraph:GraphicsLayoutWidgetの高さを計算する方法

  26. 26

    自動レイアウトは、UITableViewCellの高さ(すべてのスタイル)を計算するときに複数行のdetailTextLabelを無視します

  27. 27

    Objective cでUILabelの高さを動的に設定するにはどうすればよいですか?

  28. 28

    sizeToFit を使用せずに UILabel のサイズを正確に計算する方法はありますか?

  29. 29

    UITableViewCellの動的UILabelの高さを尊重するようにUIImageViewの高さを制限する

ホットタグ

アーカイブ