在自定义 UITableViewCell 的子视图中添加 UIViewController
Posted
技术标签:
【中文标题】在自定义 UITableViewCell 的子视图中添加 UIViewController【英文标题】:Add UIViewController inside a Subview of custom UITableViewCell 【发布时间】:2016-02-18 07:14:39 【问题描述】:我有一个带有 XIB 的自定义 UITableViewCell。它有一个名为 slideShow 的 webview 和 UIView。我只想在 slideShow UIView 组件中添加一个自定义 uiviewcontroller。这样做时,当我添加ChildViewController 时,它崩溃了。
我可以将此 ViewController 添加为 self.view 中的子视图。但无法在自定义 tableviewcell 中添加视图
请帮忙..
self.homePageCell = (SSHomePageCell *)[tableView dequeueReusableCellWithIdentifier:@"SSHomePageCell"];
if (self.homePageCell == nil)
NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"SSHomePageCell" owner:self options:nil];
self.homePageCell = [nib objectAtIndex:0];
self.imageShow = (ImageSlideShowViewController *) [storyboard instantiateViewControllerWithIdentifier:@"ImageSlideShow"];
self.imageShow.view.frame = CGRectMake(0, 0, self.homePageCell.imageSlideShowContainerView.frame.size.width, self.homePageCell.imageSlideShowContainerView.frame.size.height);
self.imageShow.title = self.title;
[self addChildViewController:self.imageShow];
[self.homePageCell.imageSlideShowContainerView addSubview:self.imageShow.view];
[self.imageShow didMoveToParentViewController:self];
return self.homePageCell;
【问题讨论】:
在单元格中使用 uicontainer 视图,在视图中添加 uiviewcontroller 很容易 请向我们展示您用来使其工作的代码 self.imageShow = (ImageSlideShowViewController *) [storyboard instantiateViewControllerWithIdentifier:@"ImageSlideShow"]; self.imageShow.view.frame = CGRectMake(0, 0, self.homePageCell.imageSlideShowContainerView.frame.size.width, self.homePageCell.imageSlideShowContainerView.frame.size.height); self.imageShow.title = self.title; [自我 addChildViewController:self.imageShow]; [self.homePageCell.imageSlideShowContainerView addSubview:self.imageShow.view]; [self.imageShow didMoveToParentViewController:self];返回 self.homePageCell; 请检查我更新的答案 【参考方案1】:首先你像这样在 CellForRow 中设置 UIView 的 nib
UIView *View = [[[NSBundle mainBundle] loadNibNamed:"UIView Name" owner:self options:nil] objectAtIndex:0];
View.frame = CGRectMake(0, 0,self.view.frame.size.width,self.view.frame.size.height);
[self.view addSubview:View];
【讨论】:
以上是关于在自定义 UITableViewCell 的子视图中添加 UIViewController的主要内容,如果未能解决你的问题,请参考以下文章
如何在自定义 UITableViewCell 按钮和第二个视图之间创建一个 segue
UIbutton 在自定义 UITableViewCell 中释放
UIImageView 没有出现在自定义 UITableViewCell 中
选择时在自定义 UITableViewCell 中调暗 UIImageView