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画像が1つしかありません。何をすればよいでしょうか。

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];

それ以外の場合は、画像ビューを取得して設定contentModeします。画像を並べて表示したくない場合

于 2012-04-26T06:49:05.500 に答える
3

ニーズによっては、ビューのサブビューとしてUIImageViewを追加し、その画像を設定して、サイズ変更を処理できるようにするのが最も簡単な場合があります。それ以外の場合は、複雑なサイズ変更と描画コードを作成する必要があります。

于 2012-04-26T02:23:42.653 に答える