1

UIToolbarコントロールのUIBarButtonItemを押すと表示されるグローに奇妙な問題があります。ImageInsetsプロパティをグローに設定すると4,0,0,0、タップするたびにグローが小さくなります。これがイラストです:

タップグローの問題

imageInsetsを設定しないと、問題は発生しません。UIToolbarのすべてのボタンで問題が発生します。タップハンドラーはありません。大きな挿入図(例:8,0,0,0)を作成すると、同じ結果がより速く生成されます。

問題を解決する方法についての提案に感謝します。

編集:問題はMonoTouchなしでも再現されるため、コードをObjective-Cに変更しました。

これはデフォルトのシングルビュープロジェクトです。ストーリーボードデザイナーを使用して、ツールバーとUIBarButtonItemを追加しました。ボタンのコンセントを作成しました。

#import "ViewController.h"

@implementation ViewController
@synthesize testBtn;

#pragma mark - View lifecycle

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIEdgeInsets insets = UIEdgeInsetsMake(8, 0, 0, 0);
    [testBtn setImageInsets:insets];
}

- (void)viewDidUnload
{
    [self setTestBtn:nil];
    [super viewDidUnload];
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

@end
4

2 に答える 2

0

コードがないと問題が何であるかを理解するのは困難です。コードの関連部分を投稿していただけませんか?上部の挿入図を4ずつ繰り返しインクリメントすることと関係があると思います...関連するコードが表示されたら、回答を編集します。

編集:だから私はMonotouchに精通していません...そしてあなたが貼り付けたコードから、コンストラクターが実際に一度呼び出されると思います。モノタッチフレームワークにバグがあり、ボタンをタップするたびにイメージセットが指定された量(下4)シフトする可能性があると思います。次の順序でチェックします。

  1. ボタンに関連付けられているデリゲートメソッドがコンストラクターを指していないこと。
  2. 挿入図を(8,0,0,0)に変更すると、5回タップすると、上記と同じ画像(10x)が表示されますか。その場合は、モノタッチフレームワークまたはデリゲートメソッドの接続方法に問題がある可能性があります。

申し訳ありませんが、私はモノタッチに慣れていないため、これ以上の支援を提供することはできません。モノタッチの使用に縛られていない限り、このような小さな落とし穴や頭痛を避けるために、ネイティブのObjective-Cを学び、ネイティブにプログラムすることを強くお勧めします。Objective-CとiOSSDKは非常にエレガントです。

于 2012-07-24T08:06:19.647 に答える
0

最後に、デザイナーに画像サイズを調整して、imageSizeプロパティの使用を削除するように依頼しました。

于 2012-07-25T06:53:47.247 に答える