有没有办法知道“setNeedsDisplay”的发件人是谁?

Posted

技术标签:

【中文标题】有没有办法知道“setNeedsDisplay”的发件人是谁?【英文标题】:Is there a way to know who is the sender of "setNeedsDisplay"? 【发布时间】:2011-03-02 17:22:40 【问题描述】:

我有一些 UIpickerView 将setNeedsDisplay 发送到它们的父视图。 有什么方法可以获取发件人的身份吗?

谢谢

沙尼

【问题讨论】:

【参考方案1】:

您无法获取该方法的发送者。这里有几件重要的事情需要注意:首先,你不应该覆盖setNeedsDisplay,你应该覆盖drawRect:,如果需要重绘视图,它将被调用。其次,我建议你使用UIPickerView的delegate属性,将它设置为你的父视图,然后在pickerView:didSelectRow:inComponent:delegate方法中做任何你需要做的处理。

【讨论】:

嗨。谢谢你的回答。不是 setNeedsDisplay 来告诉接收者调用 drawrect:? 是的。我没有说不要调用它,我说不要覆盖它。

以上是关于有没有办法知道“setNeedsDisplay”的发件人是谁?的主要内容,如果未能解决你的问题,请参考以下文章

setNeedsDisplay() 没有调用 draw(_ rect: CGRect)

setNeedsDisplay:NO 有啥用吗?

-setNeedsDisplay 没有被调用来刷新 drawRect

setNeedsDisplay 是立即生效还是只是排队等候?

UIView setNeedsDisplay 没有效果?

SetNeedsDisplay 不工作