父视图在子视图后面

Posted

技术标签:

【中文标题】父视图在子视图后面【英文标题】:parent view is behind child view 【发布时间】:2018-07-02 08:33:56 【问题描述】:

我在我的应用程序中使用 XLPagerTabStrip 库。

https://github.com/xmartlabs/XLPagerTabStrip

这里是如何使用它的:

  import UIKit
  import XLPagerTabStrip

class MyAccountViewController: ButtonBarPagerTabStripViewController 

override func viewDidLoad() 
    super.viewDidLoad()

    self.settings.style.buttonBarBackgroundColor = .white
    self.settings.style.buttonBarItemBackgroundColor = .white
    self.settings.style.selectedBarBackgroundColor = UIColor(red:0.52, green:0.77, blue:0.33, alpha:1.0)
    self.settings.style.buttonBarItemFont = .boldSystemFont(ofSize: 13)
    self.settings.style.selectedBarHeight = 2.0
    self.settings.style.buttonBarMinimumLineSpacing = 10
    self.settings.style.buttonBarItemTitleColor = .black
    self.settings.style.buttonBarItemsShouldFillAvailableWidth = true
    self.settings.style.buttonBarLeftContentInset = 0
    self.settings.style.buttonBarRightContentInset = 0
    self.settings.style.selectedBarHeight = 4.0

    changeCurrentIndexProgressive =  [weak self] (oldCell: ButtonBarViewCell?, newCell: ButtonBarViewCell?, progressPercentage: CGFloat, changeCurrentIndex: Bool, animated: Bool) -> Void in
        guard changeCurrentIndex == true else  return 
        oldCell?.label.textColor = UIColor.lightGray
        newCell?.label.textColor = .black

    

   // navview.addBottomBorderWithColor(color: .lightGray, width: 0.5)


override func didReceiveMemoryWarning() 
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.


override func viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController] 
    let child1 = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "jobinfo")
    let child2 = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "jobedu")
    let child3 = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "jobcv")
    return [child1,child2,child3]


 

和故事板:

但出于某种原因.. 滚动视图占据了整个屏幕并且一切都在它后面,即使我已经设置了它的约束!

这是我得到的:

一切都在子视图后面..如何解决这个问题?

【问题讨论】:

【参考方案1】:

根据他们的指示。 "重要提示:应该在调用 viewDidLoad 之前调用设置。"

override func viewDidLoad()  
    self.settings.style.selectedBarHeight = 2
    self.settings.style.selectedBarBackgroundColor = UIColor.white
    super.viewDidLoad()

【讨论】:

以上是关于父视图在子视图后面的主要内容,如果未能解决你的问题,请参考以下文章

在父视图控制器上注册一个 Segue 以在子视图控制器上使用

如何在子视图和父视图组触摸事件之间变化

我应该在子视图模型中存储对父视图模型的引用吗?

ios 滑动手势在子视图上未被识别,父视图上的手势

TempData 仅显示在子局部视图中,而不显示在父局部视图中

在子屏幕中单击 goback() 时需要展开之前在父屏幕中打开的可扩展列表视图