ios 通过addSubView将SwiftUI View添加到UIKit两个UIViews,一个是添加,但第二个不是[重复]

laik7k3q  于 5个月前  发布在  iOS
关注(0)|答案(1)|浏览(68)

此问题在此处已有答案

Can you have one view be a subview for several different views for iPhone?(1个答案)
10天前关门了。
我正在将SwiftUI View 'TestView'添加到contentView 1和contentView 2。但它只添加到contentView 2。任何人都请帮助我理解为什么SwiftUI View没有添加到contentView 1。我已经确保插座连接正确。

class ViewController: UIViewController {

    
    @IBOutlet var contentView1: UIView!
    @IBOutlet var contentView2: UIView!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let vc = UIHostingController(rootView: TestView())
        vc.view.translatesAutoresizingMaskIntoConstraints = false
        self.addChild(vc)
        contentView1.addSubview(vc.view)
        contentView2.addSubview(vc.view)
        vc.didMove(toParent: self)
    }
}

struct TestView: View {
    var body: some View {
        Text("SwiftUI")
            .onAppear(perform: {
                print("OnAppear Called")
            })
    }
}

字符串


的数据

nzk0hqpo

nzk0hqpo1#

contentView1.addSubview(vc.view)
        contentView2.addSubview(vc.view)

字符串
一个给定的视图只能有一个父视图-你不能将同一个视图添加到两个不同的视图中,并期望它显示两次。创建两个单独的视图,并将它们添加到每个内容视图中,你会看到它们。

相关问题