ios - 在 Swift 中重新加载 subview

标签 ios swift uiscrollview subview

我正在开发一个 iOS 应用程序,并使用带有两个 subview 的父页面,如下所示:

    var v1: assetType1VC = assetType1VC(nibName: "assetType1VC", bundle: nil)
    var v2: cityChart1VC = cityChart1VC(nibName: "cityChart1VC", bundle: nil)



    self.addChild(v1)
    self.addChild(v2)

    self.scrollView.addSubview(v1.view)
    self.scrollView.addSubview(v2.view)


    v1.didMove(toParent: self)
    v2.didMove(toParent: self)

    var v2Frame: CGRect = v2.view.frame
    v2Frame.origin.x = self.view.frame.width
    v2.view.frame = v2Frame

    self.scrollView.contentSize = CGSize(width: self.view.frame.width * 2 , height: 1)

但是,我的问题是所有两个 subview 都是同时加载的。

我想要实现的是:我想在 v2 出现时重新加载它。 我使用过 viewWillAppear、viewDidAppear 但两者都不适合我

最佳答案

重新加载 UIView 最简单但丑陋的方法是使用:

self.v2.setNeedsLayout()
self.v2.layoutIfNeeded()

关于ios - 在 Swift 中重新加载 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55077032/

相关文章:

ios - CoreData 可以在我的模拟器上使用 xCode 6 在 iOS 8 Swift 的 iPhone 上使用但不能在我的 iPhone 上使用

ios - 为什么我不能在 XCode 4.1 中运行该项目?

ios - 使用嵌入式 View Controller 调整 UIScrollView 的 contentSize

ios - 以编程方式关闭 iphone 低电量警报

ios - 来自 NSData 的 UIImage 在 iPad2 上工作正常但在 iPad1 上不工作

ios - 如何检查点击是否发生在特定位置

swift - 使用 Swift 和 SpriteKit 实现高级旋转行为

ios - 当应用程序关闭时从推送通知打开特定的 ViewController

ios - ScrollView 中的 Swift 弹出窗口

iphone - UIScrollView 阻止我的 UIGesture 进行 View 转换