问题标签 [setneedsdisplay]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - 关于 UIView 的 setNeedsDisplay 的困惑
我有一个 UITableView* myTableView 的 ivar。我有从互联网加载的数据,所以当数据被加载时,我应该调用 [myTableView setNeedsDisplay],我知道我可以/应该调用 [myTableView reloadData] 但令人困惑的是调用 setNeedsDisplay 也应该工作但不起作用。
我只是在寻找关于 setNeedsDisplay 做什么的解释?在 UITableView 实例上调用时。
根据文档 setNeedsDisplay 在“下一个绘图周期”中调用 drawRect 。所以谁能告诉我下一个绘图周期是什么。
objective-c - setNeedsDisplay *总是*重绘吗?
我使用 cocoa 编写了一个小的自定义视图应用程序。后来(是的,我知道这很糟糕)我只是问自己:这也适用于可可粉吗?当然 id 并没有立即起作用,我不得不更改类名等等。好吧,我在需要时使用NSTimer
和setNeedsDisplay:
方法刷新了视图。在可可下工作得很好,但绝对不是在可可触摸下。
我无法向自己解释,我实际上不知道哪些代码行可以帮助某人解决问题。也许这里是计时器:
它的目标:
计时器每 30 毫秒调用一次,我使用 NSLog 进行了检查。
在这个drawRect:
方法中,我实际上只是画了一些形状,没有做任何其他事情。以防万一有必要调用某种clearRect:
方法。正如我所说,在可可下它起作用了。
objective-c - UIImage 的 setNeedsDisplay 不起作用
当一个按钮被触摸时,我试图在 dataBuffer 的帮助下在 UIImage 上画一条线,但是 drawRect: .. methode 没有被调用。(所以,我想画的线没有出现)
我真的不知道问题出在哪里,所以我发布了更多代码。对于那个很抱歉。
顺便说一句,我正在开发一个基于视图的应用程序。
这是我的代码:
objective-c - UIView 子视图中的 setNeedsLayout
我有一个UIViewController
and in willRotateToInterfaceOrientation
,我在打电话[self view] setNeedsLayout];
这个视图调用是它的子视图的 (a UIScrollView
)layoutSubviews
方法,但UIScrollView
不调用layoutSubviews
它的子视图。这是应该的样子吗?我想如果你调用setNeedsLayout
一个视图,它会调用layoutSubviews
每一个 subivew 和他们的 subviews ......
我是否必须手动覆盖layoutsubview
并UIScrollView
调用setNeedsDisplay
每个子视图?
谢谢。
iphone - 如何在 iPhone 中为照片创建灵活的框架?
我尝试用一些小图片在我的 iPhone 应用程序中创建一个灵活的框架。CustomView 继承 UIView 并覆盖它的setFrame:
方法。在 setFrame: 中,我尝试调用[self setNeedsDisplay];
每次缩放照片时,此框架确实显示和更改,但有些东西效果不佳。代码及效果如下:
//旋转得到originImage的镜像,isHorization表示旋转方向 - (UIImage*)fetchMirrorImage:(UIImage*)originImage direction:(BOOL)isHorization{ CGSize imageSize = originImage.size; UIGraphicsBeginImageContext(imageSize); CGContextRef 上下文 = UIGraphicsGetCurrentContext(); CGAffineTransform 变换 = CGAffineTransformIdentity;
iphone - 设置需要显示不绘制
我想一次又一次地重复图像。但是当我运行我的代码时,它会崩溃并显示警告“MainViewController 可能无法响应 setneedsDisplay”并且“uiviewController 可能无法响应 initwithFrame”。这是我的代码。
提前致谢..
iphone - setNeedsDisplay 适用于 iPhone 但不适用于 iPad
有问题的视图是在 IB 中的根视图上创建的,并连接到 rootViewController 中的类方法。在视图的类方法中,我重写了 drawRect 来绘制它的内容。用户更改某些参数后,我正在从 rootViewController 的视图上调用 setNeedsDisplay。
在 iPhone 上,这可以正常工作。然而,在 iPad 上,类方法中的 drawRect 不会被调用。
我怀疑其原因与绘图周期有关。在 iPhone 上,用户用来更改参数的视图被推送到相关视图上方的屏幕上。在 iPad 上,这个视图被添加到上面的根视图中,而不是在有问题的视图之上。因此,当用于更改参数的视图关闭时,与 iPhone 不同,不会生成绘图循环,因此无效的视图不会更新。
我被困住了。任何帮助将不胜感激。
ios - setNeedsDisplayInRect: 动画方法的正确使用
我有一些视图控制器,它使用我自己的视图类和 XIB 接口,所以视图从编码器初始化。在那个视图控制器中,当我移动滑块时,它会重绘矩形,在初始状态矩形是全屏的,当我将滑块向左移动时,矩形的大小会按比例变小(从全屏到 10x14 连续 4 像素间隔)。“滑块确实改变了一个值”调用了一些方法,设置新的矩形大小结束发送“setNeedsDisplay”方法。如果我更改为“setNeedsDisplayInRect:”方法,它不会更新我在屏幕上需要的所有内容,会有一些伪影。但是通过调试它会像我想要的那样更新。尝试发送不同的矩形进行更新,例如:
和其他一些,同样的故事。我的问题是,我需要在 "setNeedsDisplayInRect:" 中发送哪个矩形?
第二个问题,如何加速/优化所有故事以获得更流畅的动画和更低的成本?
ios - setNeedsDisplay 在块内不起作用
我CMMotionManager
用于检索加速度计数据。问题是加速度计数据会定期打印,视图中的实例变量会更改,但视图不会重绘。我检查过hv
它不是 nil 并且一切都被钩住了。在块内调用 setNeedsDisplay 有问题吗?
uiscrollview - UIScrollView 子视图和 setNeedsDisplay
我有以下问题:
我有一个包含 UIScrollView 作为子视图的 UIView。(笔尖文件)。我以编程方式向 UIScrollView 添加了几个子视图(UIImageView),每个 UIImageview 都包含一个从网络异步加载的图像,因此我需要在下载图像时更新 scrollView。在负责图像获取的类中,我使用此代码宣传负责管理滚动视图的视图控制器
Ivar 数据是指向 ViewController 的指针。这个东西不起作用,没有重新加载scrollView 为了确保调用被触发,我在包含scrollView的viewController中编写了一个方法,在这个方法中我调用了setNeedsDisplay,
方法 updateView 被正确触发,我的意思是在每个 Image 下载后调用,但 scrollView 内容没有更新。在包含 scrollView 的 ViewController 中我没有实现 drawRect 方法,这可能是调用 setNeedsDisplay 后缺少更新的原因吗?
欢迎任何帮助/建议/参考等。在此先感谢