2014-07-08 43 views
0

我想隱藏一個擴展的tableviews標籤,當單元格展開並隱藏一個按鈕時,它摺疊。我在另一個類中有我的單元實現,標籤的屬性和標題中的按鈕。問題是,當我在ExpandedViewController中調用這些單元格方法時,代碼會進入該方法,但不會更改屬性行爲。你能幫我解決這個問題嗎?擴展後的桌面標籤在展開時如何隱藏? - IOS

謝謝

ExpandedCell.h

@property (nonatomic, retain) IBOutlet UILabel *lblTitle; 
@property (strong, nonatomic) IBOutlet UIButton *setTime; 

ExpandedCell.m

(void)setIfHidden:(BOOL)showIfHidden 
{ 
if (showIfHidden) 
{ 
[self.lblTitle setHidden:YES]; 
[self.setTime setHidden:NO]; 
} 
else 
{ 
[self.lblTitle setHidden:NO]; 
[self.setTime setHidden:YES]; 
} 
} 

ExpandedViewController.m

import ExpandedCell.h 

(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
if ([indexPath isEqual:self.expandedIndexPath]) 
{ 
    return CELL_HEIGHT_EXPANDED; 
} 
else 
{ 
    return CELL_HEIGHT_COLLAPSED; 
} 
} 
(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
self.expandedIndexPath = ([self.expandedIndexPath isEqual:indexPath]) ? nil : indexPath; 

ExpandedCell *hideCell = [[ExpandedCell alloc] init]; 
showIfHidden = YES; 

[hideCell setIfHidden:showIfHidden]; 

[tableView beginUpdates]; 
[tableView endUpdates]; 

[tableView deselectRowAtIndexPath:indexPath animated:YES]; 
} 
+0

https://github.com/bennyguitar/ CollapseClick https://github.com/iSofTom/STCollapseTableView 檢查此。 – KethanKumar

回答

0

您的物業被標記爲IBOutlet s。您使用[[ExpandedCell alloc] init]創建單元格的新實例。

你有幾個問題:

  1. 通過調用alloc initIBOutlet旨意不存在,因爲實例不是從NIB文件未歸檔。
  2. 一旦你創建了hideCell,你就調用一個方法,然後它就會被銷燬(因爲沒有東西會保留它)。
  3. 你不應該創建一個新的細胞,你應該訪問和更新現有的一個,所以你應該使用: