2012-05-11 6 views
0

UIImageを9個のボタンで分割する必要があります。今ではiPadのすべての画面を正確に占める9つのボタンがありますが、9つのスペース、特にボタンのサイズ/位置で大きな画像を切り抜きたいです。UIImageViewを9個で切り取る

今、私はこのコードを持っている:

CGRect cropRect = CGRectMake(button.frame.origin.x, button.frame.origin.y, button.frame.size.width, button.frame.size.height); 
CGImageRef croppedImage = CGImageCreateWithImageInRect([image CGImage], cropRect); 

[button setImage:image forState:UIControlStateNormal]; 

CGImageRelease(croppedImage); 

しかしを、すべてのボタンが同じイメージを示しています。

誰もが何が起こっているのか、この問題を解決する方法を知っています(ボタンのX、Y、幅、重さで9つの画像を切り取る)?

私はこれで本当に新しいです。

--EDIT--

私はちょうど変更:

[button setImage:[UIImage imageWithCGImage:croppedImage] forState:UIControlStateNormal]; 

おかげで、マーティンPilch氏を! :-)

+0

あなた 'cropRect'可能性の高い結果を、お役に立てば幸いです - あなたは 'NSLog'などを使ってこの値をチェックすべきです。 'cropRect'の原点がボタンごとに異なることを確認する必要があります。これは、forループなどを使用して実行できます。 – modocache

+0

@modocache、原点は正常に変化しています。 –

+0

ああ、私の悪い。 「すべてのボタンが同じ画像を表示しています」と言うと、どの画像が表示されますか?最初のボタンのフレームを使用して設定されたもの、または最後のボタンですか?それともどちらですか? – modocache

答えて

0

ボタンに元の画像を設定しています。それをこのように設定するようにしてください:

[button setImage:[UIImage imageWithCGImage:croppedImage] forState:UIControlStateNormal]; 

は `それはおそらくその起源は、`(0,0)であるという事実に各ボタンの値が同じで

+0

ああ、マーティン、ありがとう!私は以前にどのように把握できないのか分かりません。 –

関連する問題