1

簡単に言えば、このステートメントは何をしますか:

[self.searchBar setBackgroundImage:[UIImage imageWithCGImage:self.searchBar.backgroundImage.CGImage]];

私がこれを求めている理由は、次の問題があるためです。アセットにリンクされた検索バーがあり、編集を開始すると奇妙な描画が行われます。これが理由です -

SearchBar の高さは、通常は [44] で、オプションがある場合は [88] です。2 つの画像アセットは同じサイズです。編集時に、検索バーは次のようにレンダリングされます。

 ____________________________________________
| 88 Image|88 Image|88 Image|88 Image|.......|        
|_________|________|________|________|_______|
| 88 Image|88 Image|88 Image|88 Image|.......|        
|_________|________|________|________|_______|
|               the [88] Image               |
|                                            |
|                                            |
|____________________________________________|

各行は 11 ポイントです。画像はピクセル単位です。これはQuartzと関係があると思います。上記の動作により、次のように、検索バーがある上部のボックスに醜い黒い線が表示されます。ここに画像の説明を入力

アセットのサイズを変更してみました。垂直/水平スライス/ストレッチを追加しましたが、見た目が醜いものに変わったり、ビューに「ストレッチマーク」が追加されたりします。

そして、私には理由がわかりません。しかし、上記のように背景画像を設定すると、正しい方法が得られます。

 ____________________________________________
| 88 Image|88 Image|88 Image|88 Image|.......|        
|         |        |        |        |       |
|         |        |        |        |       |
|_________|________|________|________|_______|
|               the [88] Image               |
|                                            |
|                                            |
|____________________________________________|

なぜこれが起こっているのか誰かが私に説明できますか? これは良い修正ですか?もっと良いものはありますか?

4

0 に答える 0