0

這是我做的的UIViewController問題與IB

  1. 設置與UIViewController子類
  2. 進入IB視圖,並拉圖到iPhone
  3. 在UIView的
  4. 拉一個導航欄
  5. 在下面的空間上拉一個tableview。

當我運行界面生成器時,一切都顯得很好。

但這些東西不起作用。

  1. 如果我在導航欄的頂部添加一個按鈕,按鈕會出現,但是不會調用IBAction。該按鈕似乎在導航欄下方的某個級別(其他地方)

  2. 如果爲tableView添加頁腳視圖,它不會出現。我相信了UIView再次掩蓋它或東西...

    - (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section     
    
    { 
    
    UIView *viewForFooter = [[UIView alloc] init ]; 
    UIButton *footerButton = [[UIButton alloc] initWithFrame:CGRectMake(200, 40, 100, 40)]; 
    footerButton.titleLabel.text = @"Forgot Login"; 
    //self.forgotLogin = footerButton; 
    [viewForFooter addSubview:footerButton];  
    return viewForFooter; 
    
    
    } 
    

爲什麼?

+0

您必須使用IB將按鈕鏈接到選擇器。你做到了嗎? –

+0

您是否設置表視圖的委託和數據源?另外,您是否設置了「UINavigationController」? – Katfish

+0

請編輯您以前的帖子[UIBarButtonItem沒有響應點擊](http://stackoverflow.com/questions/6445170/uibarbuttonitem-not-reacting-to-click),而不是爲同一問題做出新的職位。 –

回答

0

1)沒有反應點擊:嘗試在代碼中添加動作。如果它起作用,連接IBAction會出現問題。

[self.barButton setTarget:self]; 
[self.barButton setAction:@selector(IBActionHandler:)]; 

作爲備份,你也可以嘗試在代碼中添加按鈕:

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] 
    initWithBarButtonSystemItem:UIBarButtonSystemItemDone 
         target:self 
         selector:@selector(IBActionHandler:)]; 
self.navigationItem.rightBarButtonItem = barButton; 
[barButton release]; 

2)隱形按鈕 - 我認爲你的按鈕是一個自定義的UIButton,因此它是透明的。

[footerButton setTitle:@"Forgot Login" forState:UIControlStateNormal]; 

如果你想你必須設置幀後,它創建一個普通的圓形角鍵:因爲你要設置這樣的標題是不可見的。

UIButton *footerButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 
// Careful, this button is autoreleased. 
[footerButton setFrame:CGRectMake(200, 40, 100, 40)]; 

順便說一句,你的CGRects可能也有問題。也許footerView應該也可以正確初始化一個幀,並且您可能必須實現

-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section 

以及。 PS:用標準的UITableViewController去實際上可能是一個好主意。 快樂編碼!