我以這種方式創建一個UIButton編程部分的內容的一部分編程方式創建:的UIButton在一個UITableView隱藏/顯示
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self action:@selector(hideOrShowWithButtonId:)forControlEvents:UIControlEventTouchDown];
此按鈕的目的是,當它被按下時,內容在一個可用視圖中的部分消失,並且當點擊它時,內容返回。 所以單擊此按鈕時,它調用下面的功能: (注:self.cinemaButton,self.taxiButton和self.foodButton是字符串,不是按鈕),
-(void)hideOrShowWithButtonId:(id)sender;
{
NSArray *dummy=[[[NSArray alloc] initWithObjects:nil] autorelease];
NSArray *dummy2=[[NSArray alloc] initWithObjects:self.cinemaButton,self.taxiButton,self.foodButton,nil];
NSLog(@"%@",self.taxiButton);
if([[dummy2 objectAtIndex:[sender tag]]isEqual:@"Hide"])
{
NSLog(@"Want to hide");
[self.sections removeAllObjects];
switch ([sender tag]) {
case 0:
[self.sections addObject:dummy];
[self.sections addObject:self.taxiFavorite];
[self.sections addObject:self.foodFavorite];
[self.tableView reloadData];
self.cinemaButton=[NSString stringWithString:@"Show"];
break;
case 1:
[self.sections addObject:self.cinemaFavorite];
[self.sections addObject:dummy];
[self.sections addObject:self.foodFavorite];
[self.tableView reloadData];
self.taxiButton=[NSString stringWithString:@"Show"];
break;
case 2:
[self.sections addObject:self.cinemaFavorite];
[self.sections addObject:self.taxiFavorite];
[self.sections addObject:dummy];
[self.tableView reloadData];
self.foodButton=[NSString stringWithString:@"Show"];
break;
}
NSLog(@"%@",self.taxiButton);
}
else
{
NSLog(@"Want to show");
switch ([sender tag]) {
case 0:
[self.sections replaceObjectAtIndex:0 withObject:self.cinemaFavorite];
[self.tableView reloadData];
self.cinemaButton=[NSString stringWithString:@"Hide"];
break;
case 1:
[self.sections replaceObjectAtIndex:1 withObject:self.taxiFavorite];
[self.tableView reloadData];
self.taxiButton=[NSString stringWithString:@"Hide"];
break;
case 2:
[self.sections replaceObjectAtIndex:2 withObject:self.cinemaFavorite];
[self.tableView reloadData];
self.foodButton=[NSString stringWithString:@"Hide"];
break;
}
}
[dummy2 release];
NSLog(@"%@",self.taxiButton);
}
的問題使用這個函數是字符串(例如在我的情況下:self.taxi)以值@「Show」退出,但當再次按下按鈕時,它的值爲@「Hide」 字符串的值self.taxibutton沒有改變。所以該功能只能隱藏該部分的內容而不再顯示它們。爲什麼會發生這種情況? 有沒有更簡單的方法來執行隱藏/顯示UItableView中特定部分內容的任務?