Xcode -> 9.4.1,iOS -> 11.4,XLPagerTabStrip -> 8.0.1
我想要创建顶部滚动选项卡(类似于android )在ios中使用斯威夫特。
我正在使用来自库XLPagerTabStrip.的XLPagerTabStrip.以下是密码:-
class ParentViewController: ButtonBarPagerTabStripViewController {
override func viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController] {
return [ChildOneViewController(), ChildTwoViewController(), ChildThreeViewController()]
}
}现在一切都很好,为三个子视图控制器创建了三个滚动选项卡,在向左和右滑动时进行了更改。但是,当我在故事板中为第一个子视图控制器创建一个标签,并在IBOutlet类中为这个标签创建一个标签时。此标签未设置并在视图加载中打印为零,视图显示为。代码是这样的:
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.
}
}发布于 2018-08-09 11:23:50
如果vcs是在IB中创建的,那么不要使用
ChildOneViewController()但使用
let ch1 = self.storyboard?.instantiateViewController(withIdentifier: "childOneId") as! ChildOneViewController给每个人一个标识符,并按上面的方式加载它
https://stackoverflow.com/questions/51765429
复制相似问题