在不使用drawrect方法的情况下获取UIView的上下文

Vig*_*abu 2 iphone draw uiview

我需要在不使用drawrect方法的情况下绘制我的uiview,但我不知道如何在任何时间点动态获取图形上下文?

例如:当用户从我的工具栏中的弹出窗口中选择添加行时,我需要添加一行.

Dee*_*olu 6

这是不可能做到的.您必须使用某种标记来指示新行,然后调用setNeedsDisplay方法以便它调用该drawRect:方法.您可以检查方法中的标记drawRect:并相应地绘制线条.

你必须保存状态.可能添加了一系列行,以便在drawRect:调用方法时可以使用它来绘制视图.

替代

您可以使用图像视图来实现此目的.你可以这样做,

UIGraphicsBeginImageContext(imageView.frame.size);
[imageView.image drawInRect:CGRectMake(0, 0, imageView.frame.size.width, imageView.frame.size.height)];
/* Draw line here */
imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
Run Code Online (Sandbox Code Playgroud)

这样您就不会有状态,只需将线条添加到图像中即可.