是否可以創建UIButton的子類,並在OpenGL ES中執行按鈕繪製?我有一個只使用OpenGL ES的遊戲應用程序,我不想在性能和美觀方面添加合成的UIkit元素。然後,我再也不想真正實現對rects的觸摸測試,因爲正確地做到這一點,因爲蘋果對內部和外部rects和各種狀態轉換都有相當多的代碼。我真正想要的是讓UIButton完成所有觸摸狀態的更改,但不讓它畫圖,同時允許我使用OpenGL和其他所有繪圖代碼自己繪製按鈕。有關如何繼續的任何建議或代碼示例?Ios UIButton使用OpenGL進行子類化
0
A
回答
0
我發現這個問題的一個答案是使用UIButton,但使用自定義樣式。然後,如果您沒有爲按鈕狀態設置實際圖像,則它根本不會繪製任何圖像,但仍然可以通過在您提供的矩形中檢測到所需操作時調用回來作爲按鈕來使用。通過這種方式,您可以將GLES紋理的區域激活爲按鈕。您可以在按鈕被觸摸或釋放時使用或不使用動作來獲得回調,如果需要,您可以自行更新紋理以響應這些動作。但最終我沒有這樣做,只是按照正常的UIKit使用習慣按鈕和圖像。我沒有發現任何使用UIKit在OpenGL ES之上的應用程序過度放慢速度。
相關問題
- 1. 使用Swift對UINavigationBar進行子類化
- 2. 使用特定的UIButtonType子類化UIButton
- 3. 使用內部類進行子類化,僅序列化外部
- 4. IBDesignable UIButton子類
- 5. 觸摸使用UIGestureRecogniser進行子類化時未結束調用
- 6. iOS - 需要OpenGL ES 2.0進行升級?
- 7. 當爲UIButton子類使用drawRect時
- 8. iOS - 使用OpenGL ES 2.0進行視頻解碼
- 9. iOS tableFooterView:無法使用UIButton?
- 10. 在Python中對int進行子類化
- 11. 在rails引擎中使用permalink_fu對ActiveRecord進行子類化
- 12. 在C++中使用DLL進行子類化
- 13. presentModalViewController在UIButton子類中
- 14. UIButton子類:是否buttonWithType:返回UIButton或子類實例?
- 15. 使用webgl/opengl進行輪廓渲染
- 16. 使用OpenGL在Android上進行重影
- 17. Android:使用OpenGL進行手指繪畫
- 18. Android:使用NDK進行OpenGL渲染
- 19. iOS版 - 使用OpenGL ES2
- 20. 將子類型作爲基類/父類型進行序列化
- 21. 對具有類型參數的類進行子類化
- 22. 對包含類的類進行子類化
- 23. 進行冗餘OpenGL調用
- 24. 使用2個xib進行本地化
- 25. UIButton子類 - 設置屬性?
- 26. 使用OpenGL進行圖像處理 - 設置OpenGL上下文
- 27. 使用UIImagePickerController進行多個uiimageviews。 (使用多個UIButton)
- 28. 在Python中使用鼻子進行並行化測試
- 29. 允許在Python中進行子類化的不可變類型
- 30. 在單觸中對綁定類型進行子類化
其實我發現混合UIKit與OpenGL並不像我認爲的性能明智一樣糟糕。我問了這個問題,因爲我只是想把所有的按鈕都作爲紋理的一部分,我更新了每一幀,並讓UIKit只做點擊測試。如果有一種方法可以讓UIKit根本沒有畫出任何東西,但是仍然可以很好地回電給我,我會感興趣的。 – Robotbugs