jjzjj

setNeedsDisplay

全部标签

ios - 调用 layer.setNeedsDisplay() 显示黑色背景

当我在UIView的CALayer上调用setNeedsDisplay()时(直接调用,或通过needsDisplayOnBoundsChange调用),它会将背景绘制为黑色。myView.layer.setNeedsDisplay()当我直接在UIView上调用“setNeedsDisplay()”时,它不会显示为黑色:myView.setNeedsDisplay()为什么会发生这种情况,我该如何解决? 最佳答案 问题是我的View的背景颜色以某种方式设置为nil而不是.white或.clear,例如。这似乎很奇怪,只有在图层而不

ios - 使用 setNeedsDisplay

我对setNeedsDisplay更新UIView的不同用法感到困惑?当我尝试使用:[self.viewsetNeedsDisplay:YES];我发现我必须忽略参数才能使其适用于UIViews:[self.viewsetNeedsDisplay]为什么这里不需要更新UIView的参数?(关于如何使用setNeedsDisplay的很多答案建议第一种方法)谢谢 最佳答案 顺便说一句,区分大小写很重要将其更改为:[self.viewsetNeedsDisplay];正如您所发现的,您在UIView对象上调用“setNeedsDispl

ios - 在 UIView 上调用 setFrame 之后是否必须显式调用 setNeedsDisplay?

在UIView上调用setFrame后是否必须显式调用setNeedsDisplay如下例所示?view1.frame=frame;[view1setNeedsDisplay];[view2setFrame:frame]; 最佳答案 简短回答:否当你需要方法drawRect被调用时你调用setNeedsDisplay,并且根据UIViewClassReference.-ChangingtheframerectangleautomaticallyredisplaysthereceiverwithoutinvokingthedrawRe

ios - UIViewContentModeRedraw 与 setNeedsDisplay?

我不知道setneedsdisplay和uiviewcontentmoderedraw之间的区别,你什么时候用它们,它们不是完全一样的东西吗? 最佳答案 它们是不同的东西。setNeedsDisplay是一个动词。用它来告诉View它正在查看的东西的状态已经改变,因此它应该重绘(通过在运行循环的下一次迭代中调用它的drawRect:方法)。contentMode是View的一个属性。它不会导致View立即执行任何操作。它指定View如何根据其大小处理其内容。UIViewContentModeRedraw是可能分配给此属性的值。这意味

iphone - 关于 UIView 的 setNeedsDisplay 的困惑

我有一个UITableView*myTableView的ivar。我有从Internet加载的数据,所以当数据加载时我应该调用[myTableViewsetNeedsDisplay],我知道我可以/应该调用[myTableViewreloadData]但令人困惑的是调用setNeedsDisplay也应该有效但不起作用。我只是想了解setNeedsDisplay的作用?在UITableView实例上调用时。根据文档,setNeedsDisplay在“下一个绘图周期”中调用drawRect。所以谁能告诉我下一个绘图周期是什么。 最佳答案

ios - setNeedsDisplay 是立即生效还是仅在稍后排队?

这里有人知道setNeedsDisplay是否会立即调用drawRect并立即更新屏幕吗?或者它只是一个排队的请求?谢谢。 最佳答案 View直到下一个绘图周期才真正重绘。这只是通知系统应该重绘View。参见UIViewClassReference您显然可以通过将内容模式设置为UIViewContentModeRedraw来完成此操作。我个人没有这样做过,但代码应该是这样的UIView*redrawView=[[UIViewalloc]initWithFrame:frame];...redrawView.contentMode=UI

iphone - 在 CATiledLayer -setNeedsDisplay 之后,并非所有图 block 都重绘

我的View有一个CATiledLayer。ViewController具有自定义缩放行为,因此在-scrollViewDidEndZooming上每个图block都需要重绘。但是,即使在每次缩放后在图层上调用-setNeedsDisplay,也并非所有图block都被重绘。这导致View在缩放后有时看起来不对。(应该出现在1个图block中的东西出现在多个地方)。它通常会在另一次缩放后自行纠正。这是相关代码。updatedRects用于测试——它存储由-drawLayer请求绘制的唯一矩形。CanvasView.h:@interfaceCanvasView:UIView@proper

ios - 重新加载/刷新 subview - setNeedsDisplay 不起作用

我有setNeedsDisplay方面的问题。我有一个带有很多子UIView的UIView,它们是在IntefaceBuilder中创建的。我还有一个带IBAction的按钮。在此IBAction中,我想重绘/重新加载所有UIView(或所有UIElement,如UILabel、UIWebView等......)我正在这样做,这对我不起作用,不知道为什么..://redrawtheUIViews[self.view_card_0setNeedsDisplay];[self.view_card_1setNeedsDisplay];[self.view_card_stapelsetNeed

ios - setNeedsDisplay 不触发 DrawRect

我有一个viewController,它显然是UIViewController的子类,名为MapViewController。在此viewController中,我使用GPS获取用户的位置。我还有一个名为DrawCircle的View。此View是UIView的子类。使用drawCircle我希望能够随时在我的MapViewController上绘图。但我不确定我是否理解这样做的概念。我知道我的绘图代码正在运行,我以前用过它。但我不知道如何使用DrawCircle在MapViewController上绘制。在我看来,每当我调用[myCustomViewsetNeedsDisplay]时

ios - setNeedsDisplay 在 block 内不起作用

我正在使用CMMotionManager来检索加速度计数据。问题是加速度计数据会定期打印,实例变量会在View中更改,但不会重绘View。我已经检查过hv不是nil并且所有内容都已Hook。block内调用setNeedsDisplay有问题吗?-(void)viewDidAppear:(BOOL)animated{[superviewDidAppear:animated];[motionManagerstartAccelerometerUpdatesToQueue:motionQueuewithHandler:^(CMAccelerometerData*accelerometerDa