我在git中找到了一些條形圖項目,我想與之合作:here 代碼非常簡單。繪圖對象只有3個方法,比如init,calc和drawRect。 有趣的一點是,我無法找到該行,即調用此方法:drawRect。 我看了所有的課程。它看起來會自動啓動,但爲什麼?我如何知道哪些方法會自動啓動,哪些不是?uiview中的條形圖項目未使用的方法
回答
你看過Apple Documentation on UIView
嗎?它具體說明了
當首次顯示視圖或發生使視圖的可見部分無效的事件時,將調用此方法。你應該自己直接調用這個方法。要使視圖的一部分無效,並因此導致該部分被重繪,請改爲調用setNeedsDisplay或setNeedsDisplayInRect:方法。
因此,您絕對不應該直接調用該方法,它會被超級版本setNeedsDisplay
或setNeedsDisplayInRect
調用。我已經在下面的文章中包含了我建議閱讀的全部內容。
此方法的默認實現不執行任何操作。使用Core Graphics和UIKit等技術繪製其視圖內容的子類應該覆蓋此方法並在其中實現其繪製代碼。如果您的視圖以其他方式設置其內容,則不需要重寫此方法。例如,如果您的視圖僅顯示背景顏色,或者您的視圖使用底層對象直接設置其內容,則不需要重寫此方法。
在調用此方法時,UIKit已經爲您的視圖適當地配置了繪圖環境,並且您可以簡單地調用呈現您的內容所需的任何繪圖方法和函數。具體來說,UIKit創建並配置用於繪製的圖形上下文,並調整該上下文的轉換,以使其原點與視圖的邊界矩形的原點相匹配。您可以使用UIGraphicsGetCurrentContext函數獲取對圖形上下文的引用,但不建立對圖形上下文的強引用,因爲它可以在對drawRect:方法的調用之間切換。同樣,如果您使用OpenGL ES和GLKView類進行繪製,則在調用此方法(或GLKView委託的glkView:drawInRect:方法)之前,GLKit會爲您的視圖合適地配置底層OpenGL ES上下文,以便您可以發出你需要渲染你的內容的任何OpenGL ES命令。有關如何使用OpenGL ES進行繪製的更多信息,請參閱適用於iOS的OpenGL ES編程指南。
您應該將任何圖紙限制在rect參數中指定的矩形中。另外,如果視圖的opaque屬性設置爲YES,則drawRect:方法必須完全填充具有不透明內容的指定矩形。
如果您直接繼承UIView,則此方法的實現不需要調用super。但是,如果您要繼承不同的視圖類,則應在實現中的某個位置調用super。
當首次顯示視圖或發生使視圖的可見部分無效的事件時調用此方法。你不應該直接調用這個方法。要使視圖的一部分無效,並因此導致該部分被重繪,請改爲調用setNeedsDisplay或setNeedsDisplayInRect:方法。
我明白了。
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect
{
// Drawing code
}
*/
所以只有這一個方法會自動激活。
- 1. XCode項目中未使用的圖像
- 2. 在項目的每種形式中使用圖標的最簡單方法
- 3. 未調用UIView子類的Dealloc方法
- 4. 使用不同項目的方法(Eclipse中的項目引用)
- 5. Java條形圖方法
- 6. 項目中使用的軟件方法
- 7. 在小圖形項目中使用Quartz
- 8. 有什麼方法可以將條形圖放入條形圖Power BI中的另一個條形圖中?
- 9. 在條形圖中刪除面板中未使用的因素
- 10. 谷歌圖表 - 改變條形圖中條形的方向
- 11. 更容易的方法使用highcharts繪製條形圖?
- 12. 條形圖風格:隱藏項目
- 13. Android:使用ebay中的條形碼搜索項目
- 14. matplotlib中的未填充條形圖
- 15. 使用AchartEngine的條形圖
- 16. 使用achartengine的條形圖
- 17. 條形圖中的並排條形圖
- 18. 什麼是最簡單的方法來構建條形圖的條形圖
- 19. 從條形圖中刪除未使用的列
- 20. 試圖.dup activerecord條目,得到「未定義的方法`stringify_keys'」
- 21. 試圖在d3中使用面向對象的方法生成條形圖
- 22. 試圖在我的項目中使用PDF417條形碼掃描SDK。
- 23. 使用來自數據庫條目的highcharts製作條形圖
- 24. 如何從iPhone XCode項目中刪除未使用的圖形文件?
- 25. Xcode在條形圖按鈕中使用PDF圖像項目大小太大
- 26. 在Jpgraph條形圖中顯示項目的值
- 27. 使用ggplot2更改條形圖中特定條形的顏色
- 28. 在Android中使用AChartEngine的條形圖
- 29. 如何確定Kendo-UI條形圖中已啓用的圖例項目?
- 30. 使用圖形效果禁用ListView中的項目