国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

ios實現自動獲取label高度、寬度及最后一個位置詳解

2020-07-26 02:38:57
字體:
來源:轉載
供稿:網友

前言

本文主要給大家介紹了關于ios自動獲取label高度、寬度及最后一個位置的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

一、獲取寬度,獲取字符串不折行單行顯示時所需要的長度

CGSize titleSize = [aString sizeWithFont:font constrainedToSize:CGSizeMake(MAXFLOAT, 30)];

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

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

CGSize titleSize = [aString sizeWithFont:font constrainedToSize:CGSizeMake(label.frame.size.width, MAXFLOAT) lineBreakMode:UILineBreakModeWordWrap];

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

三、實際編程時,有時需要計算一段文字最后一個字符的位置,并在其后添加圖片或其他控件(如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);}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 中超| 威远县| 荔波县| 申扎县| 永丰县| 玛纳斯县| 毕节市| 吉木萨尔县| 石首市| 许昌县| 江川县| 宿松县| 仙居县| 桂东县| 虹口区| 渭源县| 宜丰县| 万山特区| 益阳市| 九江县| 平遥县| 内江市| 潼南县| 青州市| 汶上县| 敦煌市| 彭州市| 如东县| 吉木萨尔县| 尼勒克县| 平凉市| 东方市| 故城县| 仲巴县| 洛隆县| 阿图什市| 明溪县| 大宁县| 湘阴县| 密山市| 辽宁省|