从Cocoa中的视图访问子视图的drawRect方法

时间:2012-05-06 10:32:31

标签: ios cocoa class uiview drawrect


我有我的主要iOS视图,其中一个UIVIew作为子视图链接到一个类(称为graphView)。 我的graphView有一个drawRect方法,它在应用程序启动时启动。

现在,点击主视图中的一个按钮,我想要使用特定参数刷新子UIView(使drawRect重新启动)。

我该怎么做,即如何访问最初实例化的graphView类?

感谢

2 个答案:

答案 0 :(得分:2)

您可以通过调用UIView上的setNeedsDisplay来请求更新视图。然后应该由OS调用drawRect方法。

如果您在XCode设计器中创建了子视图,请在UIViewDelegate中创建UIView的插座以访问子视图实例。

答案 1 :(得分:1)

您应该拥有GraphView的属性。通过这种方式,您始终可以在主视图控制器中访问Graphview,即:

@property (strong, nonatomic) GraphView *graphView

你将在你的实现中合成这样的结构:

@synthesize graphView = _graphView;

当用户现在按下按钮时,您可以执行以下功能:

- (void) buttonTouched:(id)sender
{
    [_graphView setNeedsDisplay];
}

这会将_graphView标记为需要重绘的视图,从而在下一个绘制周期中执行其drawRect:方法。