我在我的代碼中有一個簡單的關鍵問題。隱藏UIButton的UITableviewcell
當我按下我的編輯按鈕(位於導航欄上)時,我的桌面視圖需要編輯UITableview的方法。我想隱藏「我的手機」上的按鈕和標籤。
代碼:
我加入我的按鈕這樣的..
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *currentCell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
currentCell = nil;
if (currentCell==nil)
{
currentCell=[[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
BtnEmail=[UIButton buttonWithType:UIButtonTypeCustom];
//BtnEmail = (UIButton *)[currentCell viewWithTag: 3];
BtnEmail.frame=CGRectMake(265, 17, 25, 25);
BtnEmail.tag=indexPath.row;
//[BtnEmail setTitle:@"E-mail" forState:UIControlStateNormal];
[BtnEmail setBackgroundImage:[UIImage imageNamed:@"email.png"] forState:UIControlStateNormal];
[BtnEmail addTarget:self action:@selector(BtnEmail:) forControlEvents:UIControlEventTouchUpInside];
[currentCell.contentView addSubview:BtnEmail];
[currentCell.contentView bringSubviewToFront:BtnEmail];
return currentCell;
}
我的編輯按鈕聲明這樣
編輯按鈕:
self.navigationItem.rightBarButtonItem = self.editButtonItem;
而且在編輯點擊我的這個方法會調用。
- (void)setEditing:(BOOL)editing animated:(BOOL)animated
{
[super setEditing:editing animated:animated];
[listTableView setEditing:editing animated:animated];
if(editing)
{
self.navigationItem.leftBarButtonItem.enabled = NO;
//BtnEmail.frame=CGRectMake(355, 17, 25, 25);
BtnEmail.hidden = TRUE;
}
else
{
self.navigationItem.leftBarButtonItem.enabled = YES;
//BtnEmail.frame=CGRectMake(265, 17, 25, 25);
BtnEmail.hidden = FALSE;
}
[super setEditing:editing animated:animated];
}
在這種情況下,我的最後一個單元格按鈕和標籤不會隱藏所有。我需要隱藏我的Cell的所有UIButton。
一樣,如果我有表3單元格,然後它會隱藏只有最後一個按鈕僅 ..
感謝。
這將是因爲在這種情況下,您將獲得最後創建的BtnEmail參考。 – Exploring 2013-02-26 11:10:42