【问题标题】:XLPagerTabStrip select what view controller will be shown firstXLPagerTabStrip 选择首先显示的视图控制器
【发布时间】:2017-05-04 00:52:35
【问题描述】:

我正在使用XLPagerTabStrip 在一组视图控制器之间切换。我有三个视图控制器,我希望中间视图控制器默认显示为第一个。

我可以使用

let parentViewController = self.parent! as! ParentViewController
parentViewController.moveToViewControllerAtIndex(1)

在我的第一个视图控制器中,但第一个视图控制器从服务器加载一些数据,如果我在加载数据时切换到另一个视图控制器,第一个视图控制器将冻结并且不会加载数据。

有没有办法默认显示中间视图控制器?

【问题讨论】:

  • 这是 XLPagerTabStrip 中的问题,您可以使用 pod 'XLPagerTabStrip' , :git => 'https://github.com/Dagogatc/XLPagerTabStrip.git', :branch => 'moveToViewController-issue'

标签: ios swift xlpagertabstrip


【解决方案1】:

跳转到'currentIndex'的定义并将其从私有更改为公共。然后你可以通过这个代码选择你当前的控制器:

currentIndex = 1

【讨论】:

    【解决方案2】:

    在函数中:

     override func viewControllers(for pagerTabStripController: 
          PagerTabStripViewController) -> [UIViewController] {
                // This line will help you achieve the requirement
                pagerTabStripController.currentIndex = /* required index */
    
    
       }
    

    将 PagerTabStripViewController 中的 currentIndex 设为 public 后,它将顺利运行。

    【讨论】:

      【解决方案3】:

      为防止加载第一个选项卡,moveToViewControllerAtIndex() 必须在您的 PagerTabStripViewController 子类中调用 viewDidLoad() 之前调用。

      【讨论】:

        【解决方案4】:
        override func viewControllers(for pagerTabStripController: PagerTabStripViewController) -> [UIViewController] {
        pagerTabStripController.moveToViewController(at: 0) // required index
        }
        

        【讨论】:

          【解决方案5】:

          用于在 swift 5 中移动特定选项卡 XLPagerTabStrip

            override func viewDidAppear(_ animated: Bool) {
          
              if nowFrom == "sendvc"
              {
                  self.moveToViewController(at: 3,animated: false)
          
              }
          }
          

          【讨论】:

            【解决方案6】:

            你必须使用以下几行:

              override func viewDidAppear(_ animated: Bool) {
            
                    self.moveToViewController(at: 2)
                    reloadPagerTabStripView()
                    
                }
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2016-11-23
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2019-05-23
              相关资源
              最近更新 更多