Today add Uiimageview with this method but run without displaying
@interface viewcontroller ()@property(nonatomic,Weak)Uiimageview*imageview;@end @implementation viewcontroller - (void) Viewdidload {[SuperViewdidload];Uiimageview*imagev = [[UiimageviewALLOC] init]; Imagev. Frame= CGRectMake ( -, -, -, -); Imagev. BackgroundColor= [UicolorRedcolor]; Self. ImageView= Imagev; }
Analysis:
- A new Uiimageview object is created in memory and the properties are set
- Then the ImageView pointer in the controller points to the object
- And then it's running the display
problem found : The newly created object is not part of the Uiviewcontroller in memory, even if pointing to this object is not displayed.
Correct practice
@interface viewcontroller ()@property(nonatomic,Weak)Uiimageview*imageview;@end @implementation viewcontroller - (void) Viewdidload {[SuperViewdidload];Uiimageview*imagev = [[UiimageviewALLOC] init]; Imagev. Frame= CGRectMake ( -, -, -, -); Imagev. BackgroundColor= [UicolorRedcolor]; [ Self. ViewAddsubview:imagev];//Add the object to the controller Self. ImageView= Imagev; }
"iOS development issues" add uiimageview not display issues