我正在嘗試使用UICollectionView(利用UIDolynamic的UICollectionViewFlowLayout子類化)設置類似於iOS7中使用的消息UI。給定一個NSString,我需要爲UITextView計算必要的大小,以便文本不被剪切。我試過sizeWithAttributes:
和核心文本的CTFramesetterSuggestFrameSizeWithConstraints
方法,但是這兩種方法的高度都比他們應該做的小。我也嘗試使用隱藏文本視圖來計算框架,但爲每條消息填充textView相對昂貴。我已經設置了一個測試項目here。 任何想法我可能會失蹤? 謝謝!計算所需的UITextView大小
0
A
回答
4
試試你的NSString轉換爲NSAttrbutedString和使用:
- (CGRect)boundingRectWithSize:options:context:;
您還需要使用以下三種方法從UITextView中消除邊緣插入:
textView.contentInset = UIEdgeInsetsZero;
[textView setTextContainerInset:UIEdgeInsetsZero];
[textView.textContainer setLineFragmentPadding:0];
0
這比iOS7稍舊,我猜你可以使用自動佈局約束(這就是我會這麼做的)。但是,這是它是如何被許多應用程序的完成,將指向你在正確的方向:
+0
謝謝!那麼我使用的autolayout,其中大部分工作得很好,但在這種情況下,我真的不能避免使用固定寬度約束,我必須根據文本大小計算...但我會看看你的鏈接,看看它是否有效 – axelcdv
相關問題
- 1. 如何計算UITextView的邊距大小?
- 2. 計算包含對話框所需的最小大小
- 3. 如何計算GC工作所需的oldGen的大小?
- 4. 計算文本所需的字體大小以填充所需空間
- 5. Android:計算所需的查看對象大小
- 6. 計算訓練ConvNet所需的內存大小(使用Caffe)
- 7. 計算WriteableBitmap.WritePixels方法所需的緩衝區大小
- 8. 計算MATLAB uicontrol所需的實際大小
- 9. 計算UITextView中的行數,按幀大小包裝行數
- 10. UITableViewCell的UITextView大小
- 11. Appwidget大小計算
- 12. C++計算大小
- 13. 計算所需的位
- 14. 需要算法來計算矩形的大小
- 15. 計算數組的大小
- 16. 計算元組的大小
- 17. 計算數組的大小
- 18. 計算陣列的大小
- 19. 計算的iOS SDK大小
- 20. 計算內容的大小
- 21. UITextView字體大小
- 22. 如何計算GCC中被調用函數的樹的所需堆棧大小
- 23. 強制iOS重新計算滑動菜單所需的窗口大小
- 24. 如何根據NSString計算動態大小的UITableViewCells所需高度
- 25. 計算文本大小
- 26. 計算硬盤大小
- 27. 視頻大小計算
- 28. 計算數組大小
- 29. AMR幀大小計算
- 30. 位圖行大小計算
謝謝!效果很好,實際上'[textView setTextContainerInset:UIEdgeInsetsZero];'足以解決我遇到的尺寸問題。 – axelcdv
是的,我誇大它,因爲它是一個新的API。 – jaredsinclair