2011-08-03 80 views
1

我的VC是UITableViewController的一個子類,我試圖在屏幕底部添加一個UIButton如何在UITableVIew下添加UIButton?

我知道如何做到這一點,當我的VC是一個UIViewUITableView對象,但我如何添加這個按鈕,當我繼承UITableView?我嘗試將它添加到IB中,但它只允許我將它添加爲表的頁腳,只有在表底部滾動時纔可以看到它。有任何想法嗎?

而且,如何在保持單元格爲白色的同時在桌子後面添加圖像?當班級爲UIView時很容易,但在這種情況下不確定。

回答

5

Suggestion1:你可以創建一個單獨的視圖,它包含你的UIButton並放在UITableView的下面。

備註:這很有用,因爲當您滾動tableView時,默認頁腳會粘到底部。

// position(change according to your position) of the bottom view 
              //and set the size of the button 

UIView* bottomView = [[UIView alloc] initWithFrame:CGRectMake(5.0, 460.0, 300.0, 80.0)]; 
UIButton *myButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 

// position(change according to your position) of the button inside bottomView 
              //and set the size of the button 
myButton.frame = CGRectMake(20, 20, 200, 44); 

[myButton setTitle:@"Click Me!" forState:UIControlStateNormal]; 
// add targets and actions 
[myButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside]; 
// add to a view 
[bottomView addSubview:myButton]; // add the button to bottom view 
[self.view addSubView:bottomView]; //add bottom view main view 

建議2:可以使用viewForFooterInSection委託方法。您可以在其中創建視圖並添加UILabel。 viewForFooterInSection返回的UIView,你可以回到你的觀點,其包含的UILabel

備註:

如果你的觀點:當你滾動的tableView默認頁腳會隨着你的tableView

注意移動是UITableViewController的子類,那麼將其更改爲UIViewController並放入您的nib文件中創建一個視圖並在視圖下拖動您的tableView並將引用類更改爲您的UIViewController。現在創建一個UITableView * myTableView的IBOutlet並將它連接到你的nib文件。你只需要改變你的VC文件,例如self [self.myTableView reloadData];

+0

它實際上是一個UIButton,而不是UILabel。這仍然適用於您提供的選項1嗎? – Jon

+0

是的,它會工作,沒關係,你可以將任何控件放到該視圖中。 –

+0

謝謝,你可以添加代碼,讓我添加新的uiview作爲subivew,並將它放置在桌子下面viewDidLoad中?謝謝。 – Jon

5

UIView *headerView = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 300, 80)] autorelease];   
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
btn.frame = CGRectMake(10,10, 300, 40); 
[btn setTitle:@"showProfile" forState:UIControlStateNormal]; 
[btn addTarget:self action:@selector(your_function) forControlEvents:UIControlEventTouchUpInside]; 
[headerView addSubview:btn];   
tbl.tableFooterView = headerView; 
+7

'tbl.tableFooterView = headerView;'分配頭作爲頁腳 - 搞笑。 – vikingosegundo

+1

@vikingosegundo很好,當你拿着手機在倒立的肖像模式;) – aVC

0

的問題,這些方法好的代碼是,UIButton不會停留在畫面不同的設備尺寸的底部,因爲你設置一個固定的高度頁腳這樣的頁腳固定在桌子的底部(只延伸到最後一個單元格的底部)。

我最終做的是獲得主窗口視圖的句柄並將按鈕修復到底部。

我可以提供代碼,如果有人會發現它有幫助。

0

add UIView波紋管在tableView。視圖子視圖是按鈕,並直接在您的ViewController中創建IBAction。我正在使用它

相關問題