2009-06-07 54 views
0

作爲一個實際的例子,在UIView中,當setNeedsDisplay被設置時,drawRect被調用。我希望第一次調用不同的drawRect例程與後續更新。因此,例如,我希望drawRect第一次調用drawRectFirstTime,drawRect調用drawRectSubsequentUpdate以用於後續的setNeedsDisplay。如何更改objective-c中的方法調度表?

Objective-C應該怎麼做?

回答

3

從我的頭頂:

- (void)drawRect:(NSRect)rect 
{ 
    static BOOL first = YES; 
    if (first == NO) 
    { 
     [self drawRectSubsequentUpdate:rect]; 
    } else { 
     [self drawRectFirstTime:rect]; 
     first = NO 
    } 
} 
+0

這隻適用於一個UIView的對象。我認爲OP想要一個適用於所有對象的解決方案,而不僅僅是第一個。 – 2009-06-08 00:49:41

+0

更復雜的要求越複雜的解決方案。 – stefanB 2009-06-08 01:02:59

+0

謝謝stefanB。對不起,這不是我正在尋找的。詢問如何修改調度表的要點是避免在drawRect中執行if-else檢查。 – Boon 2009-06-08 01:37:42

相關問題