2012-07-15 143 views
1

說我在它下面有一個開關和一個小表視圖(不滾動)。我知道,如果開關打開/關閉使用bool switchState其值在開關的操作方法得到改變:隱藏或顯示桌面視圖

-(IBAction)switchSlide:(id)sender{ 
    if (toggleSwitch.on == YES) { 
     switchState = YES; 
    } 
    else{ 
     switchState = NO; 
    } 
} 

現在我想的是,它下面的表視圖應該隱藏switchState == NO時。我怎麼做?

回答

0

UIView有一個屬性hidden

@property(nonatomic, getter=isHidden) BOOL hidden 

因爲UITableViewUIView一個sublass可以使用從UIView的方法了。
所以,你的代碼只需要一點點調整(假設你調用這個IBActionUITableViewController):

-(IBAction)switchSlide:(id)sender{ 
    if (toggleSwitch.on == YES) { 
     switchState = YES; 
     self.tableView.hidden = NO; 
    } 
    else{ 
     switchState = NO; 
     self.tableView.hidden = YES; 
    } 
} 

編輯:

通過聊天解決了這一點,解決的辦法是: 既然你使用一個UIViewController你必須爲UITableView作出財產。合成它並通過從文件所有者拖動到界面生成器中的UITableView來連接插座。現在你可以使用上面的代碼。

+0

我從筆尖創建了tableView。 'self.tableView.hidden = NO;'或yes會給出一個錯誤,基本上說在視圖控制器中找不到'tableView'。 – 2012-07-15 07:39:12

+0

你使用'UITableViewController'還是隻使用'UIViewController'? – Pfitz 2012-07-15 07:44:28

+0

'UITableViewController'。將tableview拖入筆尖並調整連接後,我使用了方法:' - (UITableViewCell *)tableView:cellForRowAtIndexPath:'將單個行添加到表視圖中。 – 2012-07-15 07:52:29