[問題] 如何判斷 method 有沒有被 override

看板MacDev作者 (...)時間12年前 (2012/12/21 13:54), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串1/1
想要請教大家一個問題 我有一個 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

12/21 14:05, , 1F
自問自答....XD http://goo.gl/jf4BC
12/21 14:05, 1F

12/21 14:05, , 2F
但是 class_getClassMethod 要改用 class_getInstanceMethod
12/21 14:05, 2F
文章代碼(AID): #1Gq_bvNf (MacDev)
文章代碼(AID): #1Gq_bvNf (MacDev)