2013-10-17 79 views
12

我有一個顯示NSAttributedString的UIView。它的設置是爲了適應其內容而調整大小。UITextView textContainerInset不尊重底部插入值

我想創建一些文字和視圖之間的填充,但它不是很工作。如果我這樣做...

view.textContainerInset = UIEdgeInsetsMake(0, 15, 0, 15); 

...然後左右邊緣被填充,頂部和底部沒有空間。這是對的。我再加入一個頂級插圖:

view.textContainerInset = UIEdgeInsetsMake(15, 15, 0, 15); 

現在的頂部也有15分填充,但突然底部填充有點太(約10分)。

如果我然後添加15點底部填充底部變得太大,並且間距一直不一樣。相反,我不得不去欺騙它:

view.textContainerInset = UIEdgeInsetsMake(15, 15, 5, 15); 

這是一個iOS 7的錯誤還是我誤解了一些東西?我很討厭在不知道發生了什麼的情況下捏造底價。

+0

你設法解決這個問題?堅持同樣的問題。看到很多相同的問題,但目前還沒有解決方案:/ – glogic

+0

不,我'暫時隱瞞:( – tarmes

+0

問題在這裏。任何解決方案? – Mason

回答

3

我不知道是什麼給了,但我有同樣的問題,似乎是蘋果的一部分的錯誤。我正在測試iOS7.1。

在我的特殊情況下,我試圖在頂部和底部添加一些插圖,例如。

view.textContainerInset=UIEdgeInsetsMake(100, 0, 100, 0); 

正如原來的問題所述,100的底部插入看起來被忽略。 我偶然發現了什麼是我能做到這一點:

view.textContainerInset=UIEdgeInsetsMake(100, 1, 100, 0); 

這給了我預期的底部插圖。我可以忍受左邊的(所謂的)1分插圖,所以我打算將此作爲一種解決方法,理論上它應該在當前版本的iOS下運行,並且一旦修復該錯誤,它就不會完全中斷。我當然也會提交一個錯誤報告。

0

仍然存在於iOS 8.4(模擬器)中。

如果插圖leftright爲0,則不考慮底部。

它是否留下任何財產或尊重權利不是0:

_title.textContainerInset = UIEdgeInsetsMake(dy, 0, dy, 0.001);