2012-04-28 42 views
2

我想在按下按鈕時從uitableview重新載入數據。當點擊按鈕時,UITableView重新載入數據

例如: 如果我按下按鈕1,那麼我將顯示ID爲1的數據,如果我按下按鈕2,那麼我將顯示帶有ID 2的數據,並且以前的數據不會顯示。

任何人都知道,我使用[tableview reloadData];不工作,如果我移動屏幕並返回到在tableview中顯示數據的屏幕,會發生更改?

感謝之前。

+0

您應該在重新加載tableView之前更改數組中的數據。 – AMayes 2012-04-28 17:03:49

回答

0

使用此代碼。

- (void)viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:animated]; 
    [self.tableView reloadData]; 
} 

如果當u點擊按鈕簡單的寫開除,這也

-(IBAaction) buttonclick 
{ 
    [self.tableView reloadData]; 
    // your code... 
} 
+0

不工作..但tableview滾動到下去 – vman 2012-04-28 13:30:13

+0

可以ü你的代碼粘貼。直到我不能解決你的錯誤。 – akk 2012-04-28 13:39:25

+0

這是我的簡單代碼:http://bit.ly/ILGw8W – vman 2012-04-28 13:47:34

0

你不應該創建的UILabel * labelMessage;和其他變量每次您的應用程序調用tableView:cellForRowAtIndexPath :.請嘗試使用所有變量來執行此操作:

if (cell == nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
     UILabel *labelMessage; 
     labelMessage = [[UILabel alloc] initWithFrame:CGRectZero]; 
     labelMessage.backgroundColor = [UIColor clearColor]; 
     labelMessage.tag = 5; 
     labelMessage.numberOfLines = 0; 
     labelMessage.lineBreakMode = UILineBreakModeWordWrap; 
     labelMessage.font = [UIFont systemFontOfSize:14.0]; 
     labelMessage.shadowOffset = CGSizeMake(0, 1); 
     labelMessage.shadowColor = [UIColor whiteColor]; 
     labelMessage.backgroundColor = [UIColor clearColor]; 
     labelMessage.textColor = [UIColor colorWithRed:136.00/255.00 green:91.00/255.00 blue:14.00/255.00 alpha:1.0]; 

     UIView *message = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, cell.frame.size.width, cell.frame.size.height)]; 
     [message addSubview:labelMessage]; 
} 
UILabel *labelMessage = (UILabel *)[cell viewWithTag:3]; 
/* Set textMessage value here */ 
labelMessage.text = textMessage; 
return cell; 
相關問題