【iOS开发问题】添加UIImageView不显示的问题

今天用下面这个方法添加UIImageView但是运行却不显示

@interface ViewController ()
@property(nonatomic, weak)UIImageView *imageView;
@end

@implementation ViewController

 - (void)viewDidLoad {
    [super viewDidLoad];
    UIImageView *imageV = [[UIImageView alloc] init];
    imageV.frame = CGRectMake(100, 100, 100, 100);
    imageV.backgroundColor = [UIColor redColor];
    self.imageView = imageV;
   }

分析:

  • 在内存中创建了一个新的UIImageView对象,设置好了属性
  • 然后控制器中的imageView指针指向这个对象
  • 然后就是运行显示

发现问题:新创建的这个对象在内存中根本就不属于UIViewController,就算指向这个对象也不会显示的

正确做法

@interface ViewController ()
@property(nonatomic, weak)UIImageView *imageView;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    UIImageView *imageV = [[UIImageView alloc] init];
    imageV.frame = CGRectMake(100, 100, 100, 100);
    imageV.backgroundColor = [UIColor redColor];
    [self.view addSubview:imageV];//把对象添加到控制器中
    self.imageView = imageV;
 }

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。