![在属性更改时强制重绘自定义cocoa控件,第1张 在属性更改时强制重绘自定义cocoa控件,第1张](/aiimages/%E5%9C%A8%E5%B1%9E%E6%80%A7%E6%9B%B4%E6%94%B9%E6%97%B6%E5%BC%BA%E5%88%B6%E9%87%8D%E7%BB%98%E8%87%AA%E5%AE%9A%E4%B9%89cocoa%E6%8E%A7%E4%BB%B6.png)
概述假设我有一个名为FooBox的自定义
控件.它只是屏幕上的一个正方形.它有一些
属性,如颜色,边框等.当我
更改属性时,我希望FooBox重绘自身以反映其新属性.有没有办法在不编写自定义setter并将[self setNeedsDisplay:YES]放入所有这些内容的情况下执行此 *** 作? 另外两种方式: >有任何发送视图的访问者消息发送setNeedsDisplay:之后立即为YES.并非总是可能,也 假设我有一个名为FooBox的自定义控件.它只是屏幕上的一个正方形.它有一些属性,如颜色,边框等.当我更改属性时,我希望FooBox重绘自身以反映其新属性.有没有办法在不编写自定义setter并将[self setNeedsdisplay:YES]放入所有这些内容的情况下执行此 *** 作?解决方法 另外两种方式:
>有任何发送视图的访问者消息发送setNeedsdisplay:之后立即为YES.并非总是可能,也不乏麻烦.
>覆盖setValue:forKey:向其添加setNeedsdisplay:消息,并使用它来设置视图的属性.这将需要装箱任何数字或结构值,这是另一个麻烦.
所以,实际上,没有.
总结
以上是内存溢出为你收集整理的在属性更改时强制重绘自定义cocoa控件全部内容,希望文章能够帮你解决在属性更改时强制重绘自定义cocoa控件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
评论列表(0条)