UIImageView没有重绘

时间:2014-07-29 00:49:27

标签: ios cocoa-touch uiimageview

我正在使用代码来调整UIImageView的大小,方法是将其宽度减小到.5的原始值。 代码是

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.allisonHall.newWidth = .5;
    self.allisonHall.frame = CGRectMake(self.allisonHall.frame.origin.x,
                                        self.allisonHall.frame.origin.y,
                                        self.allisonHall.frame.size.width*self.allisonHall.newWidth,
                                        self.allisonHall.frame.size.height);
    self.allisonHall.contentMode = UIViewContentModeLeft;
    self.allisonHall.clipsToBounds = YES;
    NSLog(@"%f",self.allisonHall.frame.size.width);
}

,NSLog的结果如预期的那样是140,.5 * 280。 但是,在视图中,UIImageView保持其原始宽度。 UIImageView链接为

@property (weak, nonatomic) IBOutlet XYZdiningHall *allisonHall;

在视图控制器的.h文件中,其中XYZdiningHall是UIImageView的子类

在给定此代码的情况下UIImageView的框架是否应该更改,还是需要调用另一种方法来触发更改?

1 个答案:

答案 0 :(得分:0)

您需要使用UIViewContentModeLeft吗?您可以使用UIViewContentModeScaleAspectFit或UIViewContentModeScaleAspectFill并重新绘制图像(方面模式与图像视图边界相关,Left isn&t; t)。