2012-07-24 54 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); 
相關問題