我的iOS應用程序的一部分涉及PDF閱讀器。爲了顯示用戶所在的頁面,我創建了一個UILabel並將其放置在PDFScrollView(UIScrollView的子類)中。該標籤必須位於滾動視圖中,因爲無論何時更改頁面,滾動視圖都會向該標籤的IBOutlet發送一條消息,告訴其更改其文本。但是,無論何時我在UIScrollView中放大(滾動「out」),標籤也會縮小(其大小不會改變,但會向外移動)。這導致它最終離開屏幕。 如何更改它,使UILabel在UIScrollView中是靜態的和不移動的?UIScrollVIew中的靜態對象
回答
相反子類UIScrollView
的,子類UIView
並放置一個UIScrollView
和UIView
作爲與UIView
不是滾動視圖的子視圖的子視圖。將您的標籤等放在UIView
中,並讓父視圖管理滾動視圖和其他視圖之間的通信。
UIView + UIScrollView (your PDFScrollView)
+---------------------------------------+
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- -
- UIView (not a subview) -
- +----------------------+ -
- - Label(s) - -
- - - -
- +----------------------+ -
+---------------------------------------+
在你UIScrollViewDelegate
,實施方法:
- (void)scrollViewDidZoom:(UIScrollView*)scrollView {
uiLabel.transform = CGAffineTransformMakeScale(scaleX, scaleY);
uiLabel.center = CGPointMake(x, y);
}
,你計算正確的scaleX,的scaleY,X和Y 你可以嘗試使用1.0/scrollView.zoomScale
兩個scaleX
和scaleY
。
關於使用UIScrollView
作爲Ray Wenderlich網站的視圖層次結構有一個非常好的教程。
CGAffineTransformScaleMake創建一個生成錯誤。 – danielmhanover
對不起,這是CGAffineTransformMakeScale ... – sergio
這不能解決問題。 – danielmhanover
- 1. uiscrollview中的靜態和動態對象
- 2. Weblogic中的靜態對象
- 3. '靜態' 對象
- 4. 靜態對象
- 5. 靜態類對象
- 6. 共享對象中的靜態庫中的靜態函數
- 7. C++ - 非本地靜態對象vs本地靜態對象
- 8. 靜態對象的C++
- 9. 同步靜態的對象
- 10. 靜態對象的行爲?
- 11. 類的靜態對象?
- 12. 角色的靜態對象
- 13. 靜態對象中的非靜態變量的範圍
- 14. C++靜態對象中的類的靜態數據成員和靜態方法?
- 15. 創建Global.asax中的靜態對象,從
- 16. 模板中的靜態類對象C++
- 17. visual studio build中的靜態對象
- 18. Moq靜態類中的對象
- 19. 靜態庫中對象的順序
- 20. 非靜態對象中的JTable
- 21. 靜態執行對象的Java中
- 22. 靜態類中的對象實例
- 23. 靜態對象中的魔術方法
- 24. 使用asp.net中靜態對象的
- 25. Groovy中的最終靜態對象
- 26. Python:一個類中的靜態對象
- 27. 將靜態UIButton添加到UIScrollview中
- 28. ASP.NET MVC - 靜態對象
- 29. 靜態全局對象
- 30. 發佈靜態對象
我可以使用UIView中的所有標籤做ViewController-> UIView-> UIScrollView嗎? – danielmhanover
我添加了一個視覺來解釋我的意思。 –
所以UILabel應該是ScrollView子視圖的子視圖? – danielmhanover