そこで、ストーリーボードに3つのサブビューを持つViewControlを作成しました。それぞれは、前の画面(NavControl)で選択されたテーブル行に応じて、表示する異なるビューを表します。属性インスペクターの「hidden」属性がチェックされていることにより、すべてのサブビューが非表示になっています。これらの各ビュー内のすべてのオブジェクトは非表示ではありませんが、サブビュー自体が(明らかに)非表示になっているため非表示になっています。私は3つのサブビューのそれぞれにタグ(0、1、2)を与えたタグ属性を使用できると考えていますが、その使用方法を理解できません(これがオプションを提供するために役立つ場合に備えて)これを行う方法のここで言及したかった)。
それでは、これらのサブビューをどのように表示してから非表示にするのでしょうか?サブビュー内の各オブジェクトを調べて、その隠しプロパティをtrue/falseに切り替えたくありません。サブビュー全体を「表示/非表示」できるようにしたいのです。したがって、同じ結果を達成できますが、はるかに簡潔です。
ウェブ検索やstackoverflow検索で私に役立つものは何も見つかりません。
私のコードはとてもシンプルです。前の画面で選択された行をキャプチャし、サブビューを含む詳細画面の変数に渡します。詳細画面のviewDidLoad関数でprintln()を設定したため、これが機能していることはわかっています。だから今私がしなければならないのは、これらの条件のそれぞれに行き、どのサブビューを表示および/または非表示にするかを伝えることです。
このコミュニティのすべての助けに感謝します!私はそれなしで失われます。
3つのサブビューのそれぞれに対してIBOutlet
sを作成する必要があります。次に、それらの参照からそれらを直接表示/非表示できます。ビューを非表示にすると、そのサブビューが自動的に非表示になります。
ビューのアウトレットを作成したら、これを行うことができます:viewYouWantToHide.isHidden = true
これを使用して、Swiftでビューを非表示にします
viewVar.isHidden = true
各ビューにタグがある場合、次を使用してタグを非表示および表示できます。
非表示の場合:
[[self.view viewWithTag:1] setHidden:YES];
表示中:
[[self.view viewWithTag:1] setHidden:NO];
隠蔽:
self.view.viewWithTag(1)?.isHidden = true
表示中:
self.view.viewWithTag(1)?.isHidden = false
注:置換1
タグ値。
ただし、isHiddenという事実はステータスをチェックするための命名規則であり、getterメソッドですが、その事実にもかかわらずSwiftではsetterおよびgetterプロパティとして使用します
view.isHidden = true