iphone – 我什么时候需要在iOS中调用setNeedsDisplay?

iphone – 我什么时候需要在iOS中调用setNeedsDisplay?,第1张

概述当创建iPhone / iPad应用程序时,我很困惑,我什么时候我需要调用setNeedsDisplay?我知道它与更新/重绘UI有关;但是,每次我改变我的观点时,我需要打电话吗? 例如,我需要调用它: >在文本字段中编程更改文本后 >更改视图的背景时? >当我在viewDidLoad中进行更改时? >在viewDidAppear中怎么样? 有人可以给我一些一般的指导方针,什么时候使用这种方法?谢 当创建iPhone / iPad应用程序时,我很困惑,我什么时候我需要调用setNeedsdisplay?我知道它与更新/重绘UI有关;但是,每次我改变我的观点时,我需要打电话吗?

例如,我需要调用它:

>在文本字段中编程更改文本后
>更改视图的背景时?
>当我在vIEwDIDLoad中进行更改时?
>在vIEwDIDAppear中怎么样?

有人可以给我一些一般的指导方针,什么时候使用这种方法?谢谢

解决方法 你应该只调用setNeedsdisplay,如果你重写drawRect在UIVIEw的子类,它基本上是一个自定义视图绘制东西在屏幕上,像线,图像或形状像矩形。

所以你应该调用setNeedsdisplay当你对这个图形依赖的几个变量进行更改,并且视图来表示这种变化,你需要调用这个方法,在内部将调用drawRect并重绘组件。

当您将imageVIEw或UIbutton添加为子视图或对任何子视图进行更改时,您不需要调用此方法。

例:

您有一个显示移动圆圈的视图,您可以触摸并移动它,也可以是基于定时器的动画。
现在为此,你将需要一个自定义视图,在给定中心和给定半径绘制一个圆。
这些被保存为实例变量,其被修改以通过改变其中心来移动圆,或者通过增加圆的半径使其更大。

现在在这种情况下,你将修改这些变量(中心或半径)在循环和定时器或可能是由你的手指在touchesEnded和touchesMoved方法。要反映此属性的更改,您需要重绘此视图,您将调用setNeedsdisplay。

总结

以上是内存溢出为你收集整理的iphone – 我什么时候需要在iOS中调用setNeedsDisplay?全部内容,希望文章能够帮你解决iphone – 我什么时候需要在iOS中调用setNeedsDisplay?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1087925.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存