【问题标题】:How do I add multiple custom XIBs to a scrollview programmatically如何以编程方式将多个自定义 XIB 添加到滚动视图
【发布时间】:2016-02-03 00:09:15
【问题描述】:

我有几个想要以编程方式添加到滚动视图的 XIB。但是,当我使用 addSubview 添加它们时,它们都显示在彼此之上,因为原点始终设置为 0,0。

是否有一种简洁的方法可以添加多个 XIB,同时确保它们布局正确而不是相互重叠。

【问题讨论】:

    标签: ios objective-c xcode uiscrollview interface-builder


    【解决方案1】:

    在包含滚动视图的主视图控制器中,您可以在 Swift 中执行此操作:

    let leftView = LeftViewController(nibName: "LeftViewController", bundle: nil)
    
    self.addChildViewController(leftView)
    self.scrollView.addSubview(leftView.view)
    leftView.didMoveToParentViewController(self)
    
    let middleView = MiddleViewController(nibName: "MiddleViewController", bundle: nil)
    
    var frame1 = middleView.view.frame
    frame1.origin.x = self.view.frame.size.width 
    middleView.view.frame = frame1
    
    self.addChildViewController(middleView)
    self.scrollView.addSubview(middleView.view)
    middleView.didMoveToParentViewController(self)
    
    let rightView = RightViewController(nibName: "RightViewController", bundle: nil)
    
    var frame2 = rightView.view.frame
    frame2.origin.x = self.view.frame.size.width * 2
    rightView.view.frame = frame2
    
    self.addChildViewController(rightView)
    self.scrollView.addSubview(rightView.view)
    rightView.didMoveToParentViewController(self)  
    
    self.scrollView.contentSize = CGSizeMake(self.view.frame.size.width * 3,     self.view.frame.size.height - 22)
    

    注意:-22 是为了说明状态栏。

    此解决方案的功劳归于:https://www.veasoftware.com/tutorials/2015/4/2/uipageviewcontroller-in-swift-xcode-62-ios-82-tutorial

    【讨论】:

      猜你喜欢
      • 2017-01-12
      • 1970-01-01
      • 1970-01-01
      • 2017-08-11
      • 1970-01-01
      • 1970-01-01
      • 2017-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多