国产探花免费观看_亚洲丰满少妇自慰呻吟_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);}

總結

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涪陵区| 叶城县| 龙南县| 甘泉县| 彰化市| 延寿县| 广东省| 剑阁县| 乌兰浩特市| 德化县| 涟水县| 大宁县| 雷山县| 日照市| 黑水县| 咸阳市| 西吉县| 会泽县| 武夷山市| 侯马市| 仪征市| 梁山县| 无极县| 张家口市| 建瓯市| 榆树市| 本溪| 五大连池市| 双桥区| 云梦县| 思茅市| 林州市| 苍梧县| 盐源县| 苍山县| 安远县| 高阳县| 会昌县| 台山市| 龙江县| 哈密市|