我有一个UIView在XIB的UITableViewCell中布局。
按下按钮后,此视图应转换为另一个视图(不重要)。
关键是,我必须以某种方式使用第二个视图进行转换(使用相同的数据源),并在转换后交换这些视图。
我应该创建- UIView 在同一个 XIB 内,- 同一XIB内的第二个UITableViewCell,- UIView 在另一个 XIB 内- UITableViewCell 在另一个 XIB 中?
或者也许别的什么?
可以使用此方法进行转换:
[UIView transitionWithView:containerView
duration:0.2
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{ [fromView removeFromSuperview]; [containerView addSubview:toView]; }
completion:NULL];
在这个例子中(直接来自苹果文档),containerView将是你的UITableViewCell,fromView将是它的子视图。 toView 将是替换它的视图。
关于视图的排列 insibe de xib,我会将它们全部填充在同一个 xib 中,fromView 作为表视图单元格的子视图,而 toView 没有超级视图,但通过插座连接到表视图单元格(或文件所有者)。
谢谢大家的帮助。这比我想象的要容易
我已经通过放入 XIB 解决了这个问题:
- UITableViewCell (上)
- UIView
然后将所有内容连接到我的自定义UITableViewCell类。
我的主要问题是将两个视图与相同的数据同步,我只需在UITableViewController中复制我需要的任何内容即可实现。
您只需要记住,所有连接都应该在 outlet 和 UITableViewCell 和>>NOT<<文件的所有者之间 - 这在 XIB 加载期间以某种方式使应用程序崩溃。