2011-12-06 4 views
1

"UIControlStateNormal"のUIButton用の画像を設定しました。このボタンを押すと画像がシャドーされ、保持している間は逆さまに反転します。UIButtonイメージをタッチしたときに逆さまに反転させる方法を無効にするにはどうすればいいですか?

シャドウイングは問題ありませんが、「UIControlStateHighlighted」という状態のカスタムイメージを設定したくない場合はどうすればこのフリップを無効にできますか?ヘルプ

ため おかげでボタンを作るに私のコードは次のとおりです。

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 
     button.tag=i; 
     [button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; 
     button.frame = CGRectMake(xakt, yakt, a, b); 

その後、私は- (void)setImage:(UIImage *)image forState:(UIControlState)state機能をボタン画像を設定します。 は、私はあなたがUIButtonインスタンス上- (void)setImage:(UIImage *)image forState:(UIControlState)stateを使用していないようです最初に通常の状態で2枚の画像、押された状態における第2

Normal statepressed state

+3

私はイメージを反転したことはありません...あなたのボタンは何ですか?イメージの作成方法とボタンの作成方法をコードに記入してください。 – DarkDust

+0

コードを記入してください。私はあなたの質問が実際に何を理解していないのですか? – andikurnia

答えて

0

が含まれています。 (クリックすると、ボタン上の画像を反転させ)、上述のこの動作の

+0

あなたは権利があります。もちろん私はこの関数を使う – gbaor

2

私の観察は、次のような状況に限定されている:

  1. ボタンの画像はUIControlStateNormalの状態とに - (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)stateを使用して設定されています。

  2. この条件は必須ではありませんが、UIImageimageOrientationUIImageOrientationDownです。

残りの2つの制御状態の背景イメージを指定すると、問題が解決されます。

[button setBackgroundImage:image 
        forState:UIControlStateNormal | 
          UIControlStateSelected | 
          UIControlStateHighlighted]; 

は動作しませんでした。ということ

UIButton *button = ... 
UIImage *image = ... 
[button setBackgroundImage:image forState:UIControlStateNormal]; 
// Specify same image for selected/highlighted states 
[button setBackgroundImage:image forState:UIControlStateSelected]; 
[button setBackgroundImage:image forState:UIControlStateHighlighted]; 

は注意してください。

関連する問題