間違った部分を伸ばしている伸縮性のあるlettingimagewithleftcapwidth

StackOverflow https://stackoverflow.com/questions/2993172

  •  24-10-2019
  •  | 
  •  

質問

UiimageViewで画像を設定するために、伸縮性のあるuiimageを使用してUiimageを使用して、画像を設定しようとしていますが、奇妙なスケーリングバグに遭遇しています。基本的に、私の画像を幅31ピクセルの楕円形として描いてください。左右の15ピクセルはキャップで、中央のシングルピクセルはスケーリングされた部分です。

これは、左キャップを15に設定した場合に正常に機能します。ただし、たとえば、4に設定すると、中心に及ぶ「中心」の部分を取得することが期待されます。ピンチ。

私が得るのは、左のキャップが一見正しいと思われ、その後、ピクセル5で単一のピクセルをスケーリングしたかのように長い中央部分が続き、次に幅の約2倍の幅を拡張して閉じる画像の右側にある部分が続きます。元の画像の。結果の画像は、温度計の電球のようなものです。

誰かがこのような奇妙な行動を見て、何が起こっているのか知っているかもしれませんか?

役に立ちましたか?

解決

あなたの観察は正しいです、ジョーイ。 restrentableimagewithleftcapwidthは、予想どおり画像の中心全体を拡張しません。左キャップのすぐ右のピクセル列と、上部キャップのすぐ下のピクセル列のみを展開します!

代わりにuiviewのコンテンツストレッチプロパティを使用すると、問題が解決します。これのもう1つの利点は、ContentsTretchがグラフィックを適切に縮小できるのに対し、StretchableImageの伸びがグラフィックを大きくする場合にのみ機能することです。

他のヒント

私があなたを正しくしたかどうかはわかりませんが、丸い角のために左のキャップ装備などが作られており、丸い半径内の長方形のすべてが伸びて宛先ボタンの「キャップ」の間のスペースに合うように伸びます。

したがって、楕円形が4 x 2 = 8より背が高いか幅が広い場合、中央の長方形にあるものは何でも伸びます。そして、あなたはそうですので、それは少なくとも少しugいを見るでしょう!しかし、それが対称的でさえない場合、何かがストレッチに影響を与えました。 OriginまたはFrameに関係すること、または設定されている場合、または2回設定されている場合、または温度計の外観を与えている2つの異なるストレッチ画像が互いに上にあります。

同じ場所に2つの同一のボタンを作成し、同じ保持されたオブジェクトを使用して作成しました。もちろん、前のボタンを捨てます。それから私は、なぜアルファを0に設定したときにボタンが消えなかったのだろうと思いました...しかし、それはちょうどその下に「死んだ」同一のボタンがあったということです:)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top