すでにサブビューとして表示されているUIViewにサブビューを追加することはできますか?サブビューにサブビューがありますか? swift 3
私のメインビューコントローラには、タップされたマーカー呼び出しでサブビューとして表示されるUIViewがあります。私は、そのサブビューを提示してさらにサブビューを入れたいと思います。それは可能なのですか?
すでにサブビューとして表示されているUIViewにサブビューを追加することはできますか?サブビューにサブビューがありますか? swift 3
私のメインビューコントローラには、タップされたマーカー呼び出しでサブビューとして表示されるUIViewがあります。私は、そのサブビューを提示してさらにサブビューを入れたいと思います。それは可能なのですか?
UIView
クラスはサブビューを持つことができます。サブビューはオブジェクトの種類ではありません。タイプはまだUIView
です。
これはどのように行われますか?
他のUIView
オブジェクトとまったく同じです。サブビューを追加するだけです。同じように扱う:
let mainView = self.view
let subview = mainView.viewWithTag(42)
let newSubview = UIView(frame: CGRect(x: 0, y: 0, width: 10, height: 10))
subview?.addSubview(newSubview)
これはとても便利です。ただ1つの単語を変更する必要がありました!私はメインビューコントローラで 'self.view.addSubview'を持っていましたが、あなたが指摘したように、私は 'self.subview.addSubview ...'を持っていたはずです。それは今非常に意味をなさない! –
はい、サブビューはネストできます。遊び場の例:
import UIKit
import PlaygroundSupport
let view_1 = UIView(frame: CGRect(x: 0, y: 0, width: 200, height: 200))
view_1.backgroundColor = UIColor.blue
let view_2 = UIView(frame: CGRect(x: 10, y: 10, width: 100, height: 100))
view_2.backgroundColor = UIColor.red
view_1.addSubview(view_2)
let view_3 = UIView(frame: CGRect(x: 10, y: 10, width: 50, height: 50))
view_3.backgroundColor = UIColor.green
view_2.addSubview(view_3)
PlaygroundPage.current.liveView = view_1
地図ピンのコールアウトビューにサブビューを挿入したいのですか?絵は千の言葉を伝えます。 – Zhang