[解決済み]Swiftでビューのすべてのサブビューを削除する方法は?
2022-04-10 04:22:53
質問
スーパービューからサブビューを1つずつ削除するのではなく、一度にすべて削除する簡単な方法を探しています。
//I'm trying something like this, but is not working
let theSubviews : Array = container_view.subviews
for (view : NSView) in theSubviews {
view.removeFromSuperview(container_view)
}
何が足りないのか?
アップデイト
私のアプリは、メイン
container_view
. にサブビューとして他のビューを追加する必要があります。
container_view
を使い、一種のナビゲーションを提供します。
そこで、特定のページを開くボタンをクリックすると、すべてのサブビューを削除して、新しいページを追加する必要があります。
UPDATE 2 - 解決策 (OS X)
Appleが直したんだろう。
今ならもっと簡単に、電話するだけです。
for view in containerView.subviews{
view.removeFromSuperview()
}
解決方法は?
EDIT: (ジェレマイアとロロに感謝)
iOSのSwiftでこれを行うには、断然、最適な方法があります。
view.subviews.forEach({ $0.removeFromSuperview() }) // this gets things done
view.subviews.map({ $0.removeFromSuperview() }) // this returns modified array
^^ こういう機能は楽しいですよね。
let funTimes = ["Awesome","Crazy","WTF"]
extension String {
func readIt() {
print(self)
}
}
funTimes.forEach({ $0.readIt() })
//// END EDIT
これをやればいいんです。
for view in self.view.subviews {
view.removeFromSuperview()
}
また、特定のクラスを探している場合
for view:CustomViewClass! in self.view.subviews {
if view.isKindOfClass(CustomViewClass) {
view.doClassThing()
}
}
関連
-
[解決済み】Git リポジトリから .DS_Store ファイルを削除するには?
-
[解決済み] AppleScript Editorで、"Result "ウィンドウにメッセージを書き込む
-
[解決済み] 現在のアクティビティからルートビューを取得する
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Swiftで#pragmaマーク?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] Swiftでindexとelementでループを反復させる方法
-
[解決済み] Mac OSのファインダーでターミナルを開くにはこちら【終了しました
-
[解決済み] Swiftベースのアプリケーションは、OS X 10.9/iOS 7以下でも動作しますか?
-
[解決済み】UIScrollView Scrollable Content Size Ambiguity
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] OSX Mavrerick で mvn コマンドが見つかりません。
-
[解決済み] ipykernel_launcher という名前のモジュールがありません。
-
[解決済み] Virtualbox が errorID=BLKCACHE_IOERR を返す
-
[解決済み] mongod、mac os x - rlimits 警告 [閉鎖].
-
[解決済み] rootでrsyncを実行中。操作は許可されていません
-
[解決済み] MacVimと通常のVimの違いは何ですか?
-
[解決済み] Sublコマンドが動作しない - コマンドが見つかりません
-
[解決済み] Mac(os x)です。redis-cliだけをインストールする方法はありますか?
-
[解決済み] Mac OSのファインダーでターミナルを開くにはこちら【終了しました
-
[解決済み】すべてのサブビューを削除する方法は?