0

重複の可能性:
画像ファイルの一部を使用してUIImageViewを作成します

30pxx30px程度の一連のボタンを設定しました。サイズが300pxx300pxの画像があります。

画像を画像または背景画像として設定すると、ボタンに収まるように画像のサイズが自動的に変更されます。私が実際にやりたいのは、画像の30x30セクションを表示することです。

私はこれを行うためにいくつかの方法を試しましたが、それらは無益であるように見えます。-(void)layoutSubviewsに乗ってみましたが、これにより画像がボタン自体よりも大きくなり、他の奇妙な動作が発生しました。

また、画像ビュープロパティを変更しようとしましたが、これも機能しませんでした。

最後に、imageEdgeInsetsを使用してみましたが、これもlayoutSubviewsを上書きするのと同様の動作をしました。

全体像を構成するボタンがたくさんあるので、これを実行したいと思いますが、これらは移動します。別の方法は、画像をペイントスタイルのパッケージに分割することですが、長期的には、これにより余分な作業が発生し、プログラムでこれを行うことをお勧めします。進め方についてのガイダンスをいただければ幸いです。

4

1 に答える 1

2

質問を投稿した後、さらに調査したところ、次のことがわかりました。

これの側面のいくつかは、画像ファイルの一部を使用してUIImageViewを作成するにある質問と非常に似ています

    UIImage* img = [UIImage imageNamed:currentImage];
    CGRect imgFrame = CGRectMake(x, y, 30, 30);
    CGImageRef imageRef = CGImageCreateWithImageInRect([img CGImage], imgFrame);
    UIImage* subImage = [UIImage imageWithCGImage: imageRef];
    [imageButton setBackgroundImage:subImage forState:UIControlStateNormal];

これが完了すると、次のように、subImage を uibutton の画像として簡単に追加できます。

    [imageButton setBackgroundImage:subImage forState:UIControlStateNormal];
于 2012-12-29T02:51:39.120 に答える