ios - 在 Swift 中重新加载 UIScrollView 中的 UITableView

标签 ios swift uitableview uiscrollview

我有一个名为 ViewController 的主类,它包含 UIScrollView 并且在这个 ViewController 中我正在定义其他三个 Controller 持有 UITableViews 如下:

let viewController1 = storyboard?.instantiateViewControllerWithIdentifier("ViewController1") as! ViewController1
let viewController2 = storyboard?.instantiateViewControllerWithIdentifier("ViewController2") as! ViewController2
let viewController3 = storyboard?.instantiateViewControllerWithIdentifier("ViewController3") as! ViewController3

然后将它们添加到 ScrollView 。

我已经实现了 UIScrollViewDelegate,所以在完成滚动后,它会在那个 ViewController 中刷新我的 UITableView

func scrollViewDidEndDecelerating(scrollView: UIScrollView) {

    let page = scrollView.contentOffset.x / self.view.frame.width

}

我得到了页码,但是如果我在有 UITableViewViewController2 中,我该如何重新加载?

最佳答案

ViewController 中保留一组 View Controller :

var viewControllers = [UIViewController]()

然后设置它们并将它们添加到此数组中:

viewControllers.append(storyboard?.instantiateViewControllerWithIdentifier("ViewController1") as! ViewController1)
viewControllers.append(storyboard?.instantiateViewControllerWithIdentifier("ViewController2") as! ViewController2)
viewControllers.append(storyboard?.instantiateViewControllerWithIdentifier("ViewController3") as! ViewController3)

然后您可以在 ScrollView 委托(delegate)方法中引用它们:

func scrollViewDidEndDecelerating(scrollView: UIScrollView) {
    let page = Int(floor(scrollView.contentOffset.x / self.view.frame.width))
    if page < viewControllers.count {
        let viewController = viewControllers[page]
        // do whatever with viewController
    }
}

关于ios - 在 Swift 中重新加载 UIScrollView 中的 UITableView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31382707/

相关文章:

ios - 我们可以指定可以在 Collection View 的每个部分中显示的行数吗

iphone - PDF 渲染中的文本下划线和突出显示

android - 如何设置 Eclipse 以连接到移动设备(生成有关 android/ios 应用程序崩溃的崩溃日志)

ios - 引用 Storyboard中的后退按钮

swift - 让 UITableViewRowAction 在点击时反弹

ios - 从旧 Swift 到 Swift 3

ios - 单选按钮未选择和取消选择

ios - 在 UIScrollView 中约束 UITableView

ios - 贝塞尔曲线闭合路径未填充

ios - UITableViewCell 背景 View 图像未下载并显示正确的图像