2011-09-02 8 views
6

APIからiOSアプリケーションに画像をダウンロードし、画像をボタンの背景として表示しています。コードは次のとおりです。iOS画像がボタンを押すと回転する

NSData *imageData = [r responseData]; 
UIImage *image = [UIImage imageWithData:imageData];    
UIBlockButton *imageView = [UIBlockButton buttonWithType:UIButtonTypeCustom];  
[imageView setBackgroundImage:image forState:UIControlStateNormal]; 

ここは奇妙な部分です。縦の画像(長さが高さよりも小さい)は、ボタンを押すと90度回転します。誰もこれを経験したことがありますか?それはバグですか?

編集:私のサーバーは回転した状態で画像を送信します。どういうわけか、UIButtonは選択されていないときにそれを回転させることを知っていますが、選択すると同じ修正をしません。もちろん、あなたがボタンの実際の押しをシミュレートするために強調し状態のために別の画像を好む、ない限り

答えて

3

[imageView setBackgroundImage:image forState:UIControlStateHighlighted];

を追加します。その場合は、「イメージ」の代わりに/を使用します。

しかし、あなたは少なくともその奇妙な効果を取り除くべきです。

+0

ありがとうございました。私はそれをしました。私は、誰がなぜそれが起こるかを知っているかどうかを調べるために、より多くの質問をしていると思います。 –

+0

私はなぜか分からない。ハイライト状態の画像が設定されていないときに、私は他の奇妙なことが起こるのを見たので、ちょうど私の心に来ました。理由は、あなたのダウンロードした画像にオリエンテーションタグがポートレートに設定されたEXIFデータが含まれている可能性があります。しかし、そのような場合は、通常の状態で回転していない理由を尋ねることができます。 :) –

+0

私の場合、これによりバグが少ししか発生しなくなりますが、それでも時間は約半分になります。別の奇妙なデータポイント:ボタンが最初に表示されたとき、このコードはハイライトされたときにイメージを正しく表示します。親ビューが消えた後でのみ、バグが再現されます(半分の時間)。奇妙な。 – benvolioT

関連する問題