我需要通过调用它的drawRect方法来自定义一个UIView,所以我继承UIView并将其命名为MyView。该绘图将取决于某些变量(本例中为myString),所以我需要在drawRect开始之前初始化变量。我MyView.h看起来像在drawRect被调用之前初始化自定义的UIView
@interface MyView : UIView
@property (strong, nonatomic) NSString *myString;
@end
在viewController.m,如果我做了以下
MyView *myView = [MyView alloc] initWithFrame:someRect];
[myView setMyString:@"string value"];
[self.view addSubview:myView];
一切正常,将在的myString之前的drawRect设置被调用。
我想解决的问题是,如果我想通过使用界面生成器将MyView添加到视图控制器(将UIView拖放到视图控制器视图并将其类更改为MyView),那么点我可以在drawRect被调用之前设置myString?
这并不重要,如果是的drawRect设置变量之前调用。在设置变量后,您可以调用'[view setNeedsDisplay]'并且它将相应地重绘。如果这是通过'viewDidLoad'完成的,那么用户将永远不会看到不正确的绘制视图,但会在重绘正确的方式后看到它。 – Putz1103
Armand DOHM的答案适合我,谢谢。 –
你注意到我的评论是在他的答案前几分钟?我很高兴你解决了它。 – Putz1103