作者qazq (...)
看板MacDev
标题[问题] 如何判断 method 有没有被 override
时间Fri Dec 21 13:53:58 2012
想要请教大家一个问题
我有一个 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
2F:→ qazq:但是 class_getClassMethod 要改用 class_getInstanceMethod 12/21 14:05