我自建了一个View,然后希望手动调用drawRect方法,所以在需要调用该方法的地方加了setNeedsDisplay方法,但是他并没有调用drawRect方法,求大神答疑!
首先,我在这个接受的通知中调用了setNeedsDisplay方法:
其次,我重写了drawRect方法:
问题在于,我通知接受到了,也执行到setNeedsDisplay这一步了,但是却没有调用drawRect。请大神答疑啊!
我自建了一个View,然后希望手动调用drawRect方法,所以在需要调用该方法的地方加了setNeedsDisplay方法,但是他并没有调用drawRect方法,求大神答疑!
首先,我在这个接受的通知中调用了setNeedsDisplay方法:
其次,我重写了drawRect方法:
问题在于,我通知接受到了,也执行到setNeedsDisplay这一步了,但是却没有调用drawRect。请大神答疑啊!
2 回答1.1k 阅读
1 回答993 阅读✓ 已解决
1 回答2.7k 阅读
1 回答1.4k 阅读
1.7k 阅读
1 回答1.1k 阅读
1.3k 阅读
需要确认下通知是否是在主线程里面收到的。如果这里的通知不是在主线程里面收到的,那么更新界面的操作可能无效或有延迟。记住:更新界面的操作要放到主线程里面。
另外,感觉你这里drawRect:方法可能有点使用不当。当你的子类需要自己使用Core Graphics或者Quartz来绘制内容时才需要考虑重载drawRect:方法。如果你的子类只是用subView或subLayer等方式来显示内容的情况下,就没有必要重载drawRect:方法了。