在Aspect Fit上制作UIView的背景图像

时间:2015-09-07 05:48:47

标签: ios objective-c

我正在使用objective-c处理某种绘图应用,对于我的UIView之一,我希望有一个背景图像。但是,我想在实际UIView上使用此背景图片,而不是单独的UIImageView。我是这样做的:

self.tempDrawImage.image = [UIImage imageNamed:@"image.jpg"];

在这段代码中,tempDrawImage是我以编程方式创建的UIImageView,在初始化之后,我稍后在代码中写了这个,以便绘图出现在图像的顶部。我不知道这是否有用,但我认为无论如何我都要包含它以防万一它确实有帮助。

- (UIImageView *)tempDrawImage
{
    if(!_tempDrawImage) _tempDrawImage = [UIImageView new];
    return _tempDrawImage;
}

- (void)drawRect:(CGRect)rect
{
    UIGraphicsGetCurrentContext();
    [self.tempDrawImage.image drawInRect:CGRectMake(0, 0, self.frame.size.width, self.frame.size.height)];
}

现在,我正在努力使我在初始方面设置为image.jpg的图像合适。我怎么能这样做?

3 个答案:

答案 0 :(得分:2)

试试这个

self.tempDrawImage.contentMode = UIViewContentModeScaleAspectFit;

答案 1 :(得分:0)

您可以使用UIViewContentModeScaleAspectFit

 self.tempDrawImage.contentMode = UIViewContentModeScaleAspectFit;

答案 2 :(得分:-1)

UIGraphicsBeginImageContext(view.frame.size)
UIImage(named: "YOUR-IMAGE-NAME-HERE")!.drawInRect(view.frame)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsGetCurrentContext()
view.backgroundColor = UIColor(patternImage: image)

对我有用......