首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift: XLPagerTabStrip: ButtonBarPagerTabStripViewController: ChildViewController IBOutlets未设置

Swift: XLPagerTabStrip: ButtonBarPagerTabStripViewController: ChildViewController IBOutlets未设置
EN

Stack Overflow用户
提问于 2018-08-09 11:11:01
回答 1查看 602关注 0票数 0

Xcode -> 9.4.1,iOS -> 11.4,XLPagerTabStrip -> 8.0.1

我想要创建顶部滚动选项卡(类似于android )在ios中使用斯威夫特。

我正在使用来自库XLPagerTabStrip.的XLPagerTabStrip.以下是密码:-

代码语言:javascript
复制
class ParentViewController: ButtonBarPagerTabStripViewController {

    override func viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController] {

        return [ChildOneViewController(), ChildTwoViewController(), ChildThreeViewController()]

    }

}

现在一切都很好,为三个子视图控制器创建了三个滚动选项卡,在向左和右滑动时进行了更改。但是,当我在故事板中为第一个子视图控制器创建一个标签,并在IBOutlet类中为这个标签创建一个标签时。此标签未设置并在视图加载中打印为零,视图显示为。代码是这样的:

代码语言:javascript
复制
class ChildOneViewController: UIViewController, IndicatorInfoProvider {

    @IBOutlet weak var label: UILabel!   // This label i have set from storyboard.

    func indicatorInfo(for pagerTabStripController: PagerTabStripViewController) -> IndicatorInfo {

        return IndicatorInfo(title: "CHILD ONE")

    }

    override func viewDidLoad() {
        super.viewDidLoad()

        print(self.label) // This is printing nil to console.

   }

   override func viewDidAppear(_ animated: Bool) {
       super.viewDidAppear(animated)

       print(self.label) // This is also printing nil to console.

   }

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-09 11:23:50

如果vcs是在IB中创建的,那么不要使用

代码语言:javascript
复制
ChildOneViewController()

但使用

代码语言:javascript
复制
let ch1 = self.storyboard?.instantiateViewController(withIdentifier: "childOneId") as! ChildOneViewController

给每个人一个标识符,并按上面的方式加载它

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51765429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档