我想以編程方式創建一個NSTextView。如何確定正確的框架高度,以便視圖顯示當前默認字體中的一行文本?NSTextView的高度只有一行?
2
A
回答
4
NSFont類有一個方法,可以給你一個矩形的大小,將包圍一個特定的屬性字符串。獲取文本視圖使用的字體,創建一個字符串,作爲文本視圖中的內容的合理示例,並用它來通知幀高度。 (框架高度將需要比字符串顯示的實際矩形大一些的點數)。
或者,您可以從字體中獲取各種指標,並嘗試從中計算合理的框架。這可能會或可能不會工作;例如,像Apple Chancery這樣的字體根據呈現的字形,單詞中的字形等而具有大量的變化;我不知道你可以提前計算出所需的大小,而不知道你要渲染什麼。
2
對於單行文本,使用NSTextField比使用NSTextView更加正常。
用的NSTextField,只需做到以下幾點:
[textField setFont:myFont];
[textField sizeToFit];
哦,而且沒有內置的「當前默認字體」。如果一個應用程序有這樣的概念,它需要自己跟蹤它。字體面板不讀取或寫入全局任何東西,它用於對特定文本對象進行操作。
相關問題
- 1. 如何限制NSTextView只有1行?
- 2. 。高速運行只有一次
- 3. 谷歌地圖的高度只有30px
- 4. 自動高度不起作用,只有最小高度
- 5. 是否可以更改NSTextView的標題高度?
- 6. attriibute標題框變化的寬度和高度的CSS只有
- 7. 使用GridBayLayout時JTextArea高度只有1行
- 8. 只有一個寬度小於一個寬度,一個寬度高於一個寬度
- 9. 行間距NSTextView
- 10. 爲div設置相同的高度和響應度只有css
- 11. 在NSTextView中設置線高度/線間距
- 12. 控制NSTextView更新來處理閃爍和提高速度
- 13. css優先:只重寫高度和寬度中的一個
- 14. 有沒有辦法將每一行的高度固定爲10%?
- 15. %高度沒有父母的高度
- 16. 只調整IFrame高度Chrome
- 17. 有沒有辦法設置下拉的高度,一次只顯示10個值?
- 18. CSS:爲什麼只有第一個元素的高度不一樣?
- 19. 錶行高度
- 20. NSTextView逐行滾動
- 21. 在NSTextView上刪除一行文字
- 22. 按鈕高度,行高
- 23. jQuery的沒有一套高度淡入
- 24. Bootstrap中隱藏的行有一個高度
- 25. 如何在一個表格行高度增加時自動降低所有其他表格行的高度?
- 26. TemplateBinding高度所有者高度WPF
- 27. AVPlayer選定的速度只有一次
- 28. 執行javascript只有一定的寬度與調整大小
- 29. 有最高的div決定了一排的高度
- 30. Three20 TTSectionedDataSource行高度
有系統字體,這可能是他的意思。 – 2009-09-17 15:57:20