繁体   English   中英

如何在 UIView 中添加 UITableviewController

[英]How to add UITableviewController inside UIView

我有一个视图 controller ,它是UITableViewcontrollersubclass ,我需要在一个UIView下显示UITableViewcontroller ,我需要分配Corner Radius以便它与我的设计相匹配。

UITableViewcontroller 是我在整个项目中使用的通用表格视图tableview ,因此我无法更改结构。

我所有的 ViewController 都是以编程方式创建的,我没有在任何地方使用过 Storyboard。

这是我正在实施的 Viewconroller 代码

  1. headerViewController 是我标记为白色的部分
  2. 交易和团队 controller 是我在 SJSegment 中添加的 UITableviewController
     private func setupSegmentController() {
        segmentViewController.headerViewHeight = 350
        segmentViewController.headerViewController = headerViewController

        segmentViewController.segmentControllers = [
            dealViewController,
            teamViewController]
        segmentViewController.delegate = self
        
        addChild(segmentViewController)
        segmentViewController.view.frame = view.bounds
        view.addSubview(segmentViewController.view)
        segmentViewController.didMove(toParent: self)
        
      }

下面红色突出显示的区域是我需要设计的区域

在此处输入图像描述

据我了解,您想在其他视图 controller 中添加视图 controller 作为子视图。 您必须在视图 Controller 中使用 ContainerView,您要在其中显示该表 Table View Controller。 创建该容器视图的出口,然后将表视图添加为子视图。

let yourTableViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "yourTableViewController") as! UITableViewcontroller
yourTableViewController.view.autoresizingMask = [.flexibleHeight, .flexibleWidth]
yourTableViewController.view.frame = self.containerView.bounds
self.addChild(yourTableViewController)
containerView.addSubview(yourTableViewController.view)
yourTableViewController.didMove(toParent: self)

您需要UITableViewview.addSubview(yourCustomClass) 没有必要在 UIView 中添加UITableViewController

控制器它也是一个基本的 class 可以控制您的视图。 您可以将您的通用视图添加为子视图 tableView,并将它们的委托和数据源设置为主视图 controller。 您不需要为此创建 tablewviewcontroller。

所有你需要的是 - (在主视图控制器内)

tableView.delegate = self
tableView.dataSource = self.

在此之后,您必须实现协议一致性

MainViewController: UITableViewCOntrollerDelegate {

// implementation here
}
MainViewController: UITableViewControllerDataSource {
// implementation here
}

在此之后,您可以自定义您的表格视图,如视图并做您想做的事

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM