swift textView內容顯示不全

2022-09-17 10:39:08 字數 975 閱讀 8081

背景:

意見反饋頁面有一行提示文字,包含客服qq,要求qq可點選。為了實現點選功能,這裡的文字沒有使用uilabel,而是採用了uitextview,使用textview的鏈結功能。

問題:設定textview高度的時候,使用正常的文字高度計算方法,發現高度計算正確,但是文字只顯示一行,顯示不全。

解決方法:

let tv =uitextview(frame: cgrect.zero)

tv.iseditable = false

tv.backgroundcolor =uicolor.clear

//為了計算正確計算文字高度,需特殊設定textview屬性,如下

tv.contentinset = uiedgeinsets(top: -10, left: -5, bottom: -15, right: -5

) tv.textalignment =.left

tv.layoutmanager.allowsnoncontiguouslayout = false

特別注意的是,不需要設定

tv.isscrollenabled = false

原因:老子布吉島!等知道答案了再來貼

------------------------分割線------------------------

補充答案:

其實和allowsnoncontiguouslayout,textalignment屬性沒關係,textview預設有內外邊距,我們計算出來的文字高度是正確的,但是當我們將該高度設定為textview的高度的時候,由於還有內外邊距的存在,文字就顯示不下了,所以解決方案是:將textview的內外邊距設為0。

tv.textcontainerinset =uiedgeinsets.zero

tv.textcontainer.linefragmentpadding = 0

完美解決。

mysql內容 MySQL 基礎內容

建立資料庫 對於表的操作需要先進入庫 use 庫名 建立乙個名為 inana db 的資料庫,資料庫字元編碼指定為 utf8 create database inana db character set utf8 drop database inana db 刪除 庫名為samp db的庫 show...

Dom豐富內容顯示隱藏內容

注意 元素中的 前面最好要空格 在現有元素後面插入乙個新元素需要自己寫 無法呼叫 innerafter 當script外部檔案放在head時如果用到dom方法或者文件中的元素最好用到load 因為dom還沒載入完 會出錯 多個函式賦值給load function addloadevent func ...

HTTP 請求內容 響應內容分析

accept 客戶端可以接受的 型別 內容型別中的先後次序表示客戶端接收的先後次序 accept encoding 客戶端瀏覽器可以支援的 web 伺服器返回的內容壓縮型別,表示允許伺服器將輸出內容傳送到客戶端之前進行壓縮,以節約頻寬 accept language 客戶端用來展示返回資訊所優先選擇...