0

UITableViewController があります。下部に「ツールバーっぽい」コンポーネントが必要です。

背景画像とボタンを使用することから始めました。Interface Builder で、iPhone 画面の下部に追加しました。私が遭遇した問題は、背景画像とボタンがテーブルと共にスクロールすることでした。私は明らかにこれを下部に固定する必要があります。

オンラインであまり方向性を見つけられなかったので、UIToolbar をカスタマイズして、デフォルトで位置が固定されているので、自分が望むように見えるようにすることにしました。UITableViewController の initWithNibName には、次のものがあります。

UIImage *shuffleButtonImage = [UIImage imageNamed:@"shuffle_button.png"];
        NSArray* toolbarItems = [NSArray arrayWithObjects:
                                 [[UIBarButtonItem alloc]   initWithImage:shuffleButtonImage  
                                                            style:UIBarButtonItemStylePlain
                                                            target:self
                                                            action:@selector(push:)],
                                 nil];
        [toolbarItems makeObjectsPerformSelector:@selector(release)];
        self.toolbarItems = toolbarItems;

私が今直面している問題は、「shuffleButtonImage」が正しく表示されないことです。ボタンの形状は問題なく表示されますが、色が白であるため、画像のようには見えません。

実際の画像ではなく「白い画像」が表示される理由を知っている人はいますか?

また、UIToolbar をカスタマイズするのは良い考えのように聞こえますか、または固定位置の「ツールバーっぽい」コンポーネントを確保する簡単な方法がありますか。

繰り返しますが、私の「ツールバーっぽい」コンポーネントは、UITableView のボタンの 1 つのボタンだけで十分です。単一のボタンには、画像を使用して作成したグラデーション カラーの背景があります。

4

2 に答える 2

1

UIBarButtonItem クラスの initWithImage:style:target:action: メソッドのドキュメントの「image」パラメーターの説明から:

バーに表示される画像は、この画像から派生したものです。この画像が大きすぎてバーに収まらない場合は、収まるようにスケーリングされます。通常、ツールバーとナビゲーション バーの画像のサイズは 20 x 20 ポイントです。ソース イメージのアルファ値は、イメージの作成に使用されます。不透明な値は無視されます。

基本的に、提供する画像は、実際のボタン画像の輪郭/影を作成するためのマスクとして使用されます。UIBarButtonItem のこの動作を変更できるとは思えません。

別の方法として、ここで提案されているように、(カラー イメージを使用して) UIButton を作成し、それを UIBarButtonItem のカスタム ビューとして設定することもできます。そのルートに進む場合は、UIButton の境界を UIBarButtonItem の境界と一致するように設定することも必要になる場合があります (このディスカッションを参照)。

于 2010-03-26T17:56:39.127 に答える
0

リソースで画像が見つからないため、画像が空白で表示される場合があります。の定義の後にブレークポイントを置き、shuffleButtonImageそれが nil でないことを確認します。

于 2010-03-22T22:32:04.313 に答える