簡単に言えば、このステートメントは何をしますか:
[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 |
| |
| |
|____________________________________________|
なぜこれが起こっているのか誰かが私に説明できますか? これは良い修正ですか?もっと良いものはありますか?