看板 MacDev 關於我們 聯絡資訊
想要請教大家一個問題 我有一個 class 繼承了 UIProgressView 然後我 override 了 drawRect - (void)drawRect:(CGRect)rect { [super drawRect:rect]; // draw text } 但是這樣只會畫出字,原本的 ProgressView 不會出現。 (只 call [super drawRect] 其他什麼都不作,也不會畫出原本的 bar) 是可以直接 add UILabel subView 來達到此效果。 只是剛剛突然想說來試試看這樣,沒想到不行。 後來我試 UILabel,我 call super drawRect 會畫出文字,不 call 就沒畫 表示應該是 UIProgressView 自己判斷有 override 所以 super 也不作事 (不知道為什麼要這樣設計) 加上,我看到這個訊息 -[UIProgressView setProgress:animated:] will not animate when -drawRect: has been overridden. 所以,我想要請問的是.... Object-C 要如何知道某個 method 有沒有被 override 阿? 以上,謝謝大家! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.29.236
qazq:自問自答....XD http://goo.gl/jf4BC 12/21 14:05
qazq:但是 class_getClassMethod 要改用 class_getInstanceMethod 12/21 14:05