Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何重新加载UIView?_Ios_Objective C_Ios6 - Fatal编程技术网

Ios 如何重新加载UIView?

Ios 如何重新加载UIView?,ios,objective-c,ios6,Ios,Objective C,Ios6,我有一个UIView图,其中包含main方法和一些其他方法,可以绘制各种各样的东西。当应用程序启动时,视图绘制得很好,我对此没有问题。但当我尝试使用按钮(位于同一UIView上)重新绘制某些内容时,我只得到一个错误: CGContextDrawPath: invalid context 0x0 按钮未调用主drawRect方法。如果我尝试使用: [self setNeedsDisplay:YES]; 我得到一个错误: CGContextDrawPath: invalid context 0x

我有一个UIView图,其中包含main方法和一些其他方法,可以绘制各种各样的东西。当应用程序启动时,视图绘制得很好,我对此没有问题。但当我尝试使用按钮(位于同一UIView上)重新绘制某些内容时,我只得到一个错误:

CGContextDrawPath: invalid context 0x0
按钮未调用主drawRect方法。如果我尝试使用:

[self setNeedsDisplay:YES];
我得到一个错误:

CGContextDrawPath: invalid context 0x0

viewcontroller没有可见的@interface声明选择器“setNeedsDisplay”

您正在
UIViewController
实例上调用
setNeedsDisplay
,而您需要在其
UIView
上调用它

[self.view setNeedsDisplay:YES];

setNeedsDisplay
不适用于子视图…它只适用于viewController的视图

尝试使用此方法

- (void)setNeedsLayout

来自developer.apple.com

[self.view setneedsDisplay:YES]您是使用强指针存储上下文还是每次都重新设置上下文?请显示一些代码。我根本不存储上下文。
[self.view setNeedsDisplay]UIView没有参数。您是否可以显示实际的图形代码以及访问
CGContextRef
的任何位置,即使输入我的视图名称,我也会收到相同的错误:[self.GraphView setneeds显示:是];[图形视图设置需要显示:是]@詹姆斯道格拉斯是一个实例吗?camelCase符号…;)GraphView是stroyboard上的实际视图名称,我也使用了类名。@JamesDouglas,所以它不是一个视图……它是一个故事板,意思是什么?它第一次画东西。我的GraphView是UIView的子目录,我碰巧在故事板上有相同的视图名称