UIImageView以编程方式设置图像bug

时间:2014-04-13 05:31:56

标签: ios objective-c uiviewcontroller uiimageview uistoryboard

我在故事板中有一个UIImageView,连接到子类UIViewController的标题,如下所示: @property (retain, nonatomic) IBOutlet UIImageView *displayPhoto;

在UIViewController子类的.m中,我尝试设置displayPhoto的图像。

@synthesize displayPhoto;

-(void)awakeFromNib {
    UIImage *image = [UIImage imageNamed:@"dp.jpg"];

    [displayPhoto setImage:image];

    displayPhoto.layer.cornerRadius = displayPhoto.image.size.width/2;

    [self.view addSubview:displayPhoto];
}

但它绝对没有。如果我再添加一行,则添加另一个图像视图,如下所示:[self.view addSubview:[[UIImageView alloc] initWithImage:image]];,制作我的方法

@synthesize displayPhoto;

-(void)awakeFromNib {
    UIImage *image = [UIImage imageNamed:@"dp.jpg"];

    [self.view addSubview:[[UIImageView alloc] initWithImage:image]];

    [displayPhoto setImage:image];

    displayPhoto.layer.cornerRadius = displayPhoto.image.size.width/2;

    [self.view addSubview:displayPhoto];
}

它突然开始工作并将图像实例添加到视图中。一个在左上角(从我添加的行)和故事板图像位置的第二个。

有什么变化?如何添加一行使我的代码工作,是否有任何解决方法,以便我可以使图像正常显示?

3 个答案:

答案 0 :(得分:2)

如果您在故事板中添加了UIImage并正确连接了插座,则无需以编程方式创建新图像。试试这个。

- (void) viewDidLoad {
     [super viewDidLoad];
     self.displayPhoto.image = [UIImage imageNamed:@"dp.jpg"];
}

答案 1 :(得分:1)

检查imageview与故事板的连接是否可以解决您的问题。

答案 2 :(得分:0)

使用此:

self.imgObj.image=[UIImage imageNamed:@"Your string"];