加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 在UITableView tableHeaderView中使用UIViewCont

发布时间:2020-12-16 07:05:52 所属栏目:百科 来源:网络整理
导读:我的问题主要是建筑性质.我正在使用UITableViewController来显示一些东西.没什么大不了的,很标准.但是,tableHeaderView包含大量功能.有一些点击目标,它会动画,并且显示会根据用户交互而变化.目前我有一个自定义子类UIView处理大多数显示逻辑和路由通过委托协
我的问题主要是建筑性质.我正在使用UITableViewController来显示一些东西.没什么大不了的,很标准.但是,tableHeaderView包含大量功能.有一些点击目标,它会动画,并且显示会根据用户交互而变化.目前我有一个自定义子类UIView处理大多数显示逻辑和路由通过委托协议回拨到UITableViewController执行.

随着更多功能被添加到tableHeaderView,我觉得我的UITableViewController变得有点混乱和冗长.因此,我很好奇是否有意义创建一个子类UIViewContoller并将其视图设置为我的UITableViewController的tableHeaderView?如果这样做了,我会更多地关注问题并且可以容纳我的新“UIViewController”中的几乎所有逻辑.我猜我仍然需要通过两个viewControllers之间的委托路由一些通信.

从架构的角度来看,这是否有意义?或者我应该继续使用现有的UITableViewController进行所有逻辑?

**编辑**

例如,当放在我的UITableViewController中时,这段代码是否有意义

- (void)addHeader
{
    myCustomHeaderViewController *hvc = [[myCustomHeaderViewController alloc] init];
    //Assume the view for hvc is set up w/re to sizing,etc.
    self.tableView.tableHeaderView = hvc.view
}

解决方法

是的,你可以这样做,从iOS5开始你有Containment View Controllers,所以在一个视图控制器中你可以添加几个可以一起工作的子视图控制器.

您可以将标题视图添加为UIViewController,将表视图作为UITableViewController添加到单独的视图控制器中,如下所示:

- (void) addViewController: (UIViewController*)content;
{
   [self addChildViewController:content];                 
   content.view.frame = [self frameForController];
   [self.view addSubview:self.currentClientView];
}

在这里,您可以找到如何使用它们的指南:

Creating Custom Container View Controllers

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读