2011-12-27 71 views
1

在我的通用IOS4應用程序中,我在我的xib中有一個UITableview,並使用我的UITableViewController控制它。正如你所知,tableview默認覆蓋了頂部導航欄左側窗口中的所有區域和底部的工具欄。iPhone:如何在UITableView上添加UILabel?

我想是添加另一個UIComponent(可能是一個大的UILabel)剛剛下了導航欄,並將滾動的tableview不到那的UILabel,所以的UILabel不滾動,但只有表是

我怎樣才能做和控制?

感謝

+0

聽起來像是你想定製的tableview頭。我會探索你的標題選項,並看看你想出了什麼。 – 2011-12-27 15:29:19

+0

你的另一個選擇是創建你自己的視圖,並直接添加tableview到它,讓你控制tableview的尺寸。然後,您可以爲自己的標籤留下自己的空間。 – 2011-12-27 15:30:31

+0

@Bill Brasky可以通過創建我自己的觀點來解釋你的意思嗎? – Spring 2011-12-27 15:34:24

回答

1

我會建議不要隨意使用UITableViewCOntroller。如果您使用UITableVIewCOntroller來簡化您使用委託和數據源的方式,那麼您將不得不面對這種定製問題。

您將有以下的問題,如果你的UITableViewController:

  1. 不能將背景設置爲自定義的UIImage。你只能設置UITableView的BG屬性。如果您使用自定義VC並向其添加UITableView。您可以完全自定義在視圖,窗口視圖的頂部和頂部保留的內容。

  2. 根本看不出靜態標題視圖。因爲如果您使用UITableVC,則只能使用Table View的數據源方法創建默認標題。但是,如果您使用自定義VC並向其添加TableView,則可以將自己的自定義標題或控件添加爲標題。

唯一的優勢,如果你使用一個UITableViewController是,如果你在你的表視圖有UITextFields,UITableViewController中會自動滾動隱藏的文本字段鍵盤上面,如果你開始編輯一個你會有的。

我不會建議你添加任何內容的UIWindow,因爲只有首先添加視圖窗口將獲得旋轉事件

http://developer.apple.com/library/ios/#qa/qa1688/_index.html

1

一個簡單的想法是有其他的UIViewController(我們稱之爲a_viewController),並設置實現代碼如下(我們稱之爲a_tableView)和標籤(samewise,a_label)作爲其子視圖。

[a_viewController.view addSubview:a_tableView] 
[a_viewController.view addSubview:a_label]; 

如果希望標籤在滾動時保持不變,TableView標題可能不起作用。

但是,如果您在tableview中只有一個部分,則部分標題可能會變成一個方便的選項。

Can i make a table's tableHeaderView position fixed as I scroll?

3

你別管了,我認爲這將滾動表。

您可以將節標題設置爲下面的視圖。如果您只有一個部分,這可能會有效。最好的解決方案是更改爲UIViewController。

編程頭添加到表

UIView *view = [[[UIView alloc] initWithFrame:CGRectMake(0,0,320,30)] autorelease]; 
UILabel *label = [[[UILabel alloc] initWithFrame:CGRectMake(0,0,50,30)] autorelease]; 
label.text = "Hello"; 
[view addSubview:label]; 
self.tableView.tableHeaderView = view; 
1

之一是,你可以在UIWindow添加的方式。但要確保你正確地處理它,而導航意見...關注的是這樣的......

UIWindow* window = [UIApplication sharedApplication].keyWindow; 
if (!window) 
    window = [[UIApplication sharedApplication].windows objectAtIndex:0]; 
[[[window subviews] objectAtIndex:0] addSubview:myView]; 

創建UILabel實例(MyView的),並將其添加爲UIWindow子視圖...

相關問題