从viewController调用时不会导致重绘

时间:2011-02-22 23:04:10

标签: iphone objective-c ios

我有一个子视图,有各种方法来更新我的数据,然后调用[self setNeedsDisplay];调用drawRect来更新视图。

如果我从viewController调用其中一个方法,则数据会更新,但不会调用drawRect。

将subView添加为viewController的属性: @property (nonatomic,retain) MyView *myView;

并在viewController中启动:

@synthesize myView;

 - (void)viewDidLoad {
    [super viewDidLoad];

    myView = [[MyView  alloc] init]; 

    }

我稍后在带有[myView exampleMethod];

的viewController中调用myView上的方法

如何确保从viewController调用的方法重绘subView?

1 个答案:

答案 0 :(得分:1)

你不必打电话

[self.view setNeedsDisplay];

:)

视图控制器中的默认视图仅称为“视图”,如果您想创建自己的视图,则必须将其添加到该视图或使用该视图交换视图,如下所示:

self.view = myView;
//or
[self.view addSubview:myView];