2012-07-24 36 views
1

我有一个屏幕,我想显示某些产品的细节。我正在使用故事板。UITableViewController和子视图

我已经完成了这个使用tableview与静态单元格,但静态单元格只能在UITableViewController的tableview内完成。问题是我也想在这个控制器中有一个Imageview。这是不可能的,因为UITableViewController的tableview会占用所有的屏幕尺寸。

所以我正在做Imageview作为tableview的子视图。

我想知道,如果它是做正确的方式,也有计算器上类似的问题,但没有对应于我的使用情况(分镜+ tableviewcontroller + staticcell +副视点)

+1

子视图的方法是确定的,或使用自定义的细胞 – 2012-07-24 10:52:15

回答

1

无需编写任何自定义代码,您既可以:

  1. 放入表视图的页眉或页脚视图一个UIImageView。
  2. 创建一个静态单元格,并把UIImageView放入其中。表格单元不一定是一致的长度,如果需要,可以使其高于其他单元格。
+0

和选项2之外,如果我有分组单元格,将不可能将图像视图静态单元格放在所有的屏幕上?因为其他部分将具有“边距” – tahir 2012-07-24 18:23:30

+0

@tahir如果您使用分组表格样式,那么页眉/页脚选项可能会更好看。如果你想匹配背景,你可以使用普通的UIView作为容器,并将背景颜色设置为'[UIColor groupTableViewBackgroundColor]' – benzado 2012-07-24 18:27:34

0
  • 使用UITableView作为viewController的一个属性,并将其添加到vc.view,而不是UITableViewController的子类,然后根据自己的喜好设置其框架
  • 将imageView添加到vc。例如,如果您需要将它放在UITableView的顶部,请将其添加为TableView的标题。
+0

它不会让我做静态细胞的实现代码如下,对于这一点,我必须有一个UITableViewController(或它的子类) – tahir 2012-07-24 14:32:41

+1

如果有周围也没有路(或有一个选择,如果知道更多关于你的情况),那么我可以这样建议:​​例如,如果你只有一个部分,那么在 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView'返回2,但除了imageview作为section0的标题 – BabyPanda 2012-07-24 14:41:12

1

你可以有你的UITableViewController的子类。初始化后,将其视图(tableView)并将其作为子视图添加到其他视图控制器。这样你可以设置tableView的框架占据(顶部包含)视图控制器的底部。对于相同的视图控制器,您可以添加其他子视图,如UIImageView并将其放置在顶部。您遇到的唯一问题可能与您的UITableViewController子类(viewWillDisappear,viewDidDissappear,viewWillAppear,viewDidAppear,...)丢失通知有关。但是,您可以将它们转发给您的顶级视图控制器。或者你可以使用iOS 5中的方法将UITableViewController的子类作为子视图控制器添加并按照你的意愿进行定位。但是,如果您计划使用iOS 5.0或更高版本的支持设备,这将非常有用。

见的UIViewController方法的文档:

- (void)addChildViewController:(UIViewController *)childController __OSX_AVAILABLE_STARTING(__MAC_NA,__IPHONE_5_0); 
相关问题