问题标签 [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.
cocoa - NSResponder 方法只调用 setNeedsDisplay
我有一个 openGl 视图的子类。在其中一种方法中,我设置了一个标志来绘制黑色或白色背景。在方法结束时,我调用 setNeedsDisplay。这永远不会被调用!我在 mouseDownEvent 中也有一个 setNeedsDisplay。当我单击视图时,它会调用它!我的背景改变了颜色。有任何想法吗?这是代码。
在 openGL 视图中
在应用程序委托中
ios - 无法更新 uibutton 标签
我正在使用自定义MZFormSheetController
来使用自定义“警报视图”。当我按下它时,我有一个按钮,它会打开MZFormSheetController
并允许我从 中选择此按钮的特定标题UIPickerView
。当我从选择器中选择标题时,它被发送到viewController
包含按钮的setNeedsDisplay
我想用从pickerView
. 我写了代码,但按钮的标题没有更新..
在按钮的viewController
, 按钮的动作:
在viewDidLoad
:
在CountriesPickerViewController.m
:
预期的事情是countrySelect
按钮在selectedCountryIndex2
不等于 0 时更改其标题,但这从未发生过,尽管标题已成功传递并且我得到了它NSLog
。
ios - iOS:为什么我需要在 NSURLConnection sendAsynchronousRequest 之后使用 sleep(1)?
我想在屏幕上显示我从互联网上获取的图像。我已经使用 NSURLConnection 创建了一个异步调用来获取数据,并且在响应块中,我调用了代码以将其分配给 UIImage 对象。
我的问题是为什么我需要在块执行后调用 sleep(1) ?如果我不调用它,那么我的图像不会绘制在屏幕上。这是实现这一目标的另一种更优雅的方式吗?
objective-c - setNeedsDisplay:YES 不绘制
所以我在现有窗口中绘制自定义视图时遇到问题。我有一个名为的自定义类GraphView
,用于在视图上绘制值图。该图每秒都会获得传递的变量,并且应该通过 重绘setNeedsDisplay:YES
。我可以让这个相同的类在独立的 xCode 项目中工作,但为了让它工作,我必须从 Interface Builder 中的自定义视图控制拖动到File's Owner
,并且视图将重绘。所有绘图代码在独立的 xCode 项目中都可以正常工作,因此我知道我的drawRect
方法,并且所有其他视图方法都按我想要的方式工作。如果我做同样的事情,我也可以GraphView
让它在我当前的项目中工作,但applicationDidFinishLaunching
不会运行。
下面是示例项目中代码的细分。
我缺少的部分是什么,这样我就不必在 InterfaceBuilder 中从我GraphView
的 to中建立连接File's Owner
来获取要更新的视图[self.graph setNeedsDisplay:YES]
。任何帮助或方向将不胜感激。
ios - iOS 设置 Needs Display 回调
当然,我怎么知道调用 setNeedsDisplay 的效果何时发生?我知道没有完成回调方法。
解释
我需要在self.navigationItem.titleView
. 但是每一行都需要有不同的属性。要知道第一行的大小,我需要在titleView中预加载UILabel。显示成功后,我就可以继续了。所有这些都需要在 ViewDidAppear 等之后发生。这样我就不能使用这些生命周期方法。所以基本上,在我将未编辑的标签设置为self.navigationItem.titleView
并调用 setNeedsDisplay 之后,我需要知道何时可以返回 titleView/UILabelView 以了解应该在哪里换行,以便我可以利用 titleView 的完全可用宽度。我希望这是有道理的。
ios - 使用 setNeedsDisplay 更新 UIView 不起作用
我的应用程序中有一个循环进度条,显示他们花费的用户预算百分比。每次用户切换到带有圆形进度条的视图时,进度条都应该更新。它还应该在用户每次打开应用程序时更新。
目前,由于某种我无法理解的原因,它只会在应用程序打开时更新(从多任务处理中关闭),并且如果用户切换到该视图(它应该)则永远不会更新。我已经进行了大量研究,但无法找到解决方案。
这是创建圆圈的代码:
这是我用来(尝试)更新进度圈的代码。这段代码在 viewDidAppear() 中:
我真的希望有人有解决方案,因为我已经有这个问题大约一个星期了。谢谢。
ios - 添加子视图后 setNeedsDisplay 不起作用
我在 viewController.view 中添加了大约 500 个视图。这个动作在目标上花费了大约 5 秒。现在我希望在我添加的每个子视图之后刷新屏幕,这样用户会看到它们一一出现在屏幕上。
我在我的 viewController 中试过这个:
我运行它,5 秒钟内什么也没发生,然后所有视图立即出现。我确保从主线程上下文调用 [self.view setNeedsDisplay]。
知道如何让这些子视图一一出现吗?
ios - 无法使用 drawRect 将 int 传递给 UIView
如何将 int 传递给使用 drawRect 使我成为圆弧的 UIView?
我正在尝试绘制一个圆弧,并且每秒调用 UIView 上的 setNeedsDisplay ,并将 int 提前一(秒)。当我打电话时,这似乎没有打电话并保持(空)NSLog(@"draw, %d",self.secs);
基本上我的代码日志每秒只读取“draw 1”,然后是“draw 0”。
绘制.h
绘图.m
main VC.m - NSTimer 调用它,但 tick.secs 似乎每次都是 0
编辑1:
Stonz2 非常正确,我应该使用一个实例draw
- 这已经解决了我的一半问题。现在在我的主 VC.m 中,tick.secs
每秒都在增加,但在 draw.m 中,drawRect 仍然认为secs
每秒为 0
编辑 2:Sha 通过使用 UIView 观察我的 IBOutlet 来修复它,而不是绘制
ios - 通过 dispatch_async 获取图像数据后刷新 UITableViewCell
我正在编写显示 TableView 的应用程序,其中包含包含图像的条目。我试图通过在cellForRowAtIndexPath
方法中执行这行代码来获取图像:
设置图像后,我执行包含以下内容的选择器:
并且没有显示图像,但是当我单击单元格或滚动整个列表时,会显示图像。为什么我的视图不刷新?我错过了什么吗?
objective-c - NSView 重绘不适用于 setNeedsDisplay:YES;
我有一个自定义视图,我想在执行 NSView 控制器子类中实现的 IBAction 方法时强制重绘:
这似乎没有任何直接影响。只有当我将鼠标移入自定义视图区域或调整主窗口大小时,我的自定义视图才会重新绘制。
关于为什么这不起作用的任何想法?