我需要通過調用它的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