0

次のような UITabBar と UINavigationBar を含むアプリケーションがあります。

初めて、意図した結果..完璧

ビュー内には、上半分 (赤色) と下半分 (緑色) を均等に占める 2 つのサブビューがあります。この 2 つのビュー内には、UIImageView (または背景画像を割り当てる UIButton、両方のオブジェクトをテストしました) があります。 . Interface Builder を使用して位置と自動サイズ変更の値を割り当てると、View Controller を最初に表示したときにすべてが正確に表示され、2 つのサブビューを含むビューが表示されます。

ただし、タブバーの他のタブに移動するか、ナビゲーションコントローラーを使用して、特定のビューに再度戻ると、両方の UIButton が失敗します..viewDidAppear 内で、サイズが正しくなくなります (高さが 2 倍になります)。 2番目のビューのUIButtonにはYがあり、画面からはみ出すほど巨大です

2回連続のショー...ひどい

一日中プロパティのデバッグと微調整を行ってきましたが、何が問題なのか理解できません。両方の UIView (赤と緑のビュー) の [Autoresize subviews] チェックボックスをオンにしないと、レイアウトは完全に損なわれず、問題は解消されることに気付きました。ただし、これは意図した動作ではありません。iPad および 4 インチ画面のデバイスで UIButton (背景イメージと一緒に) を引き伸ばして動的に成長させたいからです。

最初のサブビュー (赤いビュー) の設定が添付されています。2 番目のビュー (緑のビュー) の設定は同じか、ミラーリングされたエッジにロックされています。前もって感謝します!

ルートビュー設定

上面図の設定

トップ UIButton / UIImageView の設定

4

1 に答える 1

0

画像をボタンの背景ではなくボタンの前景として設定します。ボタンの背景としての画像は引き伸ばされますが、ボタンの前景としての画像は引き伸ばされません。

または、以下のコードを使用して画像が伸縮しないように設定します

//For image as background    
[button setBackgroundImage:image forState:UIControlStateNormal];

//For image as foreground
[button setImage:image forState:UIControlStateNormal]; 

よろしく、ラヴィ

于 2013-04-07T07:30:43.480 に答える