【问题标题】:Swipe a uiView in Swift like Tab View Controller在 Swift 中像 Tab View Controller 一样滑动 uiView
【发布时间】:2022-01-21 21:14:46
【问题描述】:

我想像我们在 SwiftUI 的选项卡视图控制器中使用的那样滑动 uiView,但是在使用情节提要时,如果我们使用选项卡视图控制器,整个屏幕都会被滑动,但我必须只滑动屏幕的一半并在那里执行一些功能。我附上它的屏幕截图以便更好地理解:

我想要这种类型的回应。使用按钮添加新组,我正在添加一个新组,通过滑动我想查看我的辅助组。

【问题讨论】:

  • 到目前为止你尝试过什么?什么不起作用?
  • 您可以使用UICollectionView 代替UIVIew。它可以从左到右以及从右到左滑动你的UIView
  • 使用页面控件
  • 分享您在视图中添加滑动的代码或完成步骤
  • @dasdom 我试过标签栏控制器,但它会滑动整个屏幕

标签: swift xcode uitabbarcontroller tabbarcontroller uitabview


【解决方案1】:

 let viewsList : [UIViewController] = {
        
        let storyBoard = UIStoryboard(name: "Main", bundle: nil)
       
        let vc1 = storyBoard.instantiateViewController(withIdentifier: "FirstViewController")
        let vc2 = storyBoard.instantiateViewController(withIdentifier: "SecondViewController")
        let vc3 = storyBoard.instantiateViewController(withIdentifier: "ThirdViewController")
        
        return [vc1, vc2, vc3]
        
    }()
    

在 viewDidLoad() 中添加代码

override func viewDidLoad() {
        super.viewDidLoad()
        self.dataSource = self
        self.delegate = self
        
        if let firstvc = viewsList.first {
            self.setViewControllers([firstvc], direction: .forward, animated: true, completion: nil)
        }
        
    }

检测下一页或上一页。

        func pageViewController(pageViewController: UIPageViewController, didFinishAnimating finished: Bool, previousViewControllers: [AnyObject], transitionCompleted completed: Bool) {
      if completed {
        if previousIndex < currentIndex {   // forward
    
        }
        else if previousIndex > currentIndex {  // reverse
    
        }
      }
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-10
    • 1970-01-01
    • 2016-05-15
    相关资源
    最近更新 更多