4

以下のコードを使用して、カスタム バー ボタン アイテムを作成しました。

UIImage* image3 = [UIImage imageNamed:@"iphone-btn-next@2x.png"];
CGRect frameimg = CGRectMake(0, 0,57,44);
UIButton *someButton = [[UIButton alloc] initWithFrame:frameimg];
[someButton setBackgroundImage:image3 forState:UIControlStateNormal];
[someButton setBackgroundImage:image3 forState:UIControlStateHighlighted];
[someButton addTarget:self action:@selector(flipView)
     forControlEvents:UIControlEventTouchUpInside];
[someButton setShowsTouchWhenHighlighted:YES];
UIBarButtonItem *mailbutton =[[UIBarButtonItem alloc] initWithCustomView:someButton];
self.navigationItem.rightBarButtonItem=mailbutton;

正常に動作していますが、問題は、ボタンをタップすると、ボタンの中央に白い色が表示されることです (スクリーンショットを参照)。誰かがそれを取り除く方法を私に提案できますか?

ここに画像の説明を入力

4

2 に答える 2

4

次のコード行を削除します。

[someButton setShowsTouchWhenHighlighted:YES];

ドキュメントによると

showsTouchWhenHighlighted => A Boolean value that determines whether tapping the button causes it to glow.
于 2013-06-05T01:36:50.047 に答える
2

これは回答を書く必要があります

行を削除

[someButton setShowsTouchWhenHighlighted:YES];

よりもこれを試してください

UIImage* image3 = [UIImage imageNamed:@"iphone-btn-next@2x.png"];
CGRect frameimg = CGRectMake(0, 0,57,44);
UIButton *someButton = [[UIButton alloc] initWithFrame:frameimg];
[someButton setBackgroundImage:image3 forState:UIControlStateNormal];
[someButton setBackgroundImage:image3 forState:UIControlStateHighlighted];
[someButton addTarget:self action:@selector(flipView)
forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *mailbutton =[[UIBarButtonItem alloc] initWithCustomView:someButton];
self.navigationItem.rightBarButtonItem=mailbutton;
于 2013-06-05T01:48:20.293 に答える