1

我有一个大小为 200*100 的 Background.png 图像,我将 uiview 的背景图像设置为:

    UIView view= UIView alloc] initWithFrame:CGRectMake(50, 100, 200, 100)];
    view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"Background.png"]];

现在,我通过以下方式重置框架 UIView:

    [view setFrame:CGRectMake(50,100,400,200)];

我需要按 uiview 的比例调整背景图像的大小,但我只有一个固定大小的 Background.png 图像。我该怎么办。

4

2 回答 2

6

相应地选择你的尺寸

    UIGraphicsBeginImageContext( newSize );
   [image drawInRect:CGRectMake(0,0,newSize.width,newSize.height)];
   UIImage* newImage = UIGraphicsGetImageFromCurrentImageContext();
   UIGraphicsEndImageContext();

    UIView view= UIView alloc] initWithFrame:CGRectMake(50, 100, 200, 100)];
    view.backgroundColor = [[UIColor alloc] initWithPatternImage:newImage];

否则采取 imageview 并设置contentMode,如果你不想平铺图像

于 2012-04-26T06:49:05.500 回答
3

根据您的需求,将 UIImageView 添加为视图的子视图并设置其图像,让它为您处理调整大小可能是最简单的。否则,您可能需要编写一些复杂的调整大小和绘图代码。

于 2012-04-26T02:23:42.653 回答