iPhone 動態獲取UILabel的高度和寬度

2022-05-05 15:33:10 字數 1105 閱讀 6296

在使用uilabel存放字串時,經常需要獲取label的長寬資料,本文列出了部分常用的計算方法。

1.獲取寬度,獲取字串不折行單行顯示時所需要的長度 

cgsize titlesize = [astring sizewithfont:font constrainedtosize:cgsizemake(maxfloat, 30)];

注:如果想得到寬度的話,size的width應該設為maxfloat。

2.獲取高度,獲取字串在指定的size內(寬度超過label的寬度則換行)所需的實際高度.

cgsize titlesize = [astring sizewithfont:font constrainedtosize:cgsizemake(label.frame.size.width, maxfloat) linebreakmode:uilinebreakmodewordwrap];

注:如果想得到高度的話,size的height應該設為maxfloat。

3.實際程式設計時,有時需要計算一段文字最後乙個字元的位置,並在其後新增或其他控制項(如info圖示),下面**為計算label中最後乙個字元後面一位的位置的方法。

cgsize sz = [label.text sizewithfont:label.font constrainedtosize:cgsizemake(maxfloat, 40)];

cgsize linessz = [label.text sizewithfont:label.font constrainedtosize:cgsizemake(label.frame.size.width, maxfloat) linebreakmode:uilinebreakmodewordwrap];

if(sz.width <= linessz.width) //判斷是否折行

lastpoint = cgpointmake(label.frame.origin.x + sz.width, label.frame.origin.y);  

else  

lastpoint = cgpointmake(label.frame.origin.x + (int)sz.width % (int)linessz.width,linessz.height - sz.height);  

iPhone 動態獲取UILabel的高度和寬度

在使用uilabel存放字串時,經常需要獲取label的長寬資料,本文列出了部分常用的計算方法。1.獲取寬度,獲取字串不折行單行顯示時所需要的長度 cgsize titlesize astring sizewithfont fontconstrainedtosize cgsizemake maxfl...

iPhone 動態獲取UILabel的高度和寬度

在使用uilabel存放字串時,經常需要獲取label的長寬資料,本文列出了部分常用的計算方法。1.獲取寬度,獲取字串不折行單行顯示時所需要的長度 cgsize titlesize astring sizewithfont font constrainedtosize cgsizemake maxf...

獲取Iphone裡面的資料

這篇文章對healthkit框架進行了簡單的介紹 對healthkit框架有了簡單的了解後我們就可以開始了 1.如下圖所示 在xcode中開啟healthkit功能 獲取步數分為兩步1.獲得許可權 2.讀取步數 3.部分 1 2 3 4 5 inte ceviewcontroller propert...