iOS 用のアプリを開発しており、AutoLayout をオンにして Storyboard を使用しています。私のView Controllerの1つには4つのボタンのセットがあり、特定の状況では最初のボタンを非表示にしたいと考えています。
このメソッドを使用するとsetHidden:TRUE
、UIButton は非表示になりますが、それでも明らかにビュー内のスペースが必要です。その結果、埋めることができなかった「穴」ができて、残りの UIButton がメイン ビューの上部に向かって浮きます。
Android では単にView.GONE
代わりに を使用View.INVISIBLE
していましたが、iOS ではこの動作に固執しており、唯一の解決策は手動で (つまりプログラムで) 残りの要素を一番上に移動することだとは信じたくありません。
Android のようにすべてを自動化するために何らかの制約を設定することができると思っていましたが、うまくいきませんでした。
Autolayout をオフにする前に、正しい方向を教えてもらえますか?
私は IB を使用していますが、プログラムによるものにも慣れています。
アップデート:
コンポーネントの高さを 0 に設定しても効果はありません。
私はこのようなことを試しました:
UIButton *b;
CGRect frameRect = b.frame;
frameRect.size.height = 0;
b.frame = frameRect;