[英]How to add UITableviewController inside UIView
我有一个视图 controller ,它是UITableViewcontroller
的subclass
,我需要在一个UIView
下显示UITableViewcontroller
,我需要分配Corner Radius
以便它与我的设计相匹配。
UITableViewcontroller 是我在整个项目中使用的通用表格视图tableview
,因此我无法更改结构。
我所有的 ViewController 都是以编程方式创建的,我没有在任何地方使用过 Storyboard。
这是我正在实施的 Viewconroller 代码
- headerViewController 是我标记为白色的部分
- 交易和团队 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)
您需要UITableView
和view.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.