以下は、ビューがIBでどのように整理されているか、アプリが開始されたときのトップ->ボトムです。
ユーザーは、「カテゴリテーブルビューヘッダー」を一時的に「名前ビュー」の上に拡張するために何かを行うことができます-ただし、そうすると、「カテゴリテーブルビューヘッダー」に割り当てられた.TouchDownアクションは、「名前ビュー」と重複する場所では機能しなくなります(つまり、ユーザーはヘッダーが名前ビューと重ならないどこでもタップでき、それでも機能します)。
私はそれが混乱するかもしれないことを知っているので、私はいくつかの箱を描きました。左側はオリジナル、右側はユーザーのアクション後-問題は右側が赤いボックスのアクションが機能するのは、ユーザーが上半分ではなく下半分をタップした場合のみです。
私の推測では、ヘッダーはビュー階層で名前ビューよりも低いためですが、多くの制約をいじらずに変更するのは難しいでしょう。
また、nameView.hidden = trueを設定しようとしましたが、うまくいきません。
サブビューを前面に表示する場合は、次を使用できます。
Swift 4 UPDATE
self.view.bringSubviewToFront(yourView)
Swift 3 UPDATE
self.view.bringSubview(toFront: yourView)
ビューを後ろに送信:-
Swift 4 UPDATE
self.view.sendSubviewToBack(yourView)
Swift 3 UPDATE
self.view.sendSubview(toBack: yourView)
スーパービューからメソッドbringSubviewToFrontおよびsendSubviewToBackを使用して、サブビューの順序を制御できます。
Self.view.subview配列を使用して、スーパービューに含まれるすべてのサブビューにアクセスできます。
In Swift 5
サブビューを前面に表示するには
self.view.bringSubviewToFront(yourView)
サブビューをバックに送信するには
self.view.sendSubviewToBack(yourView)
Swift以降、メソッドが更新されました
私のために働いていて、うまくいけばあなたのために使っているのは:
YourView.bringSubview(toFront: yourelementA)
YourView.bringSubview(toFront: yourelementB)
または、次を使用して、最前面にあるオブジェクトを送信できます。
YourView.sendSubview(toBack: yourelementC)
これが役立つことを願っています