2011-05-23 69 views
0

我想創建一些靜態表格視圖單元格來存儲我的內容。我的設置出現在畫面我的筆尖文件:如何顯示靜態自定義單元格

Custom Table Cellenter image description here

從本質上說,我只有一個靜態的細胞,包含地圖視圖和標籤。

下一頁配置我的Xcode文件內容如下:

頁眉:

@interface CarParkDetailViewController : UITableViewController <UITableViewDelegate, UITableViewDataSource> 
{ 
    UITableViewCell *infoCell; 
    MKMapView *detailMapView; 
    UILabel *addressLabel; 

} 

@property (nonatomic, retain) IBOutlet UITableViewCell *infoCell; 
@property (nonatomic, retain) IBOutlet MKMapView *detailMapView; 
@property (nonatomic, retain) IBOutlet UILabel *addressLabel; 

@end 

實現:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    // Return the number of sections. 
    return 1; 
} 


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    // Return the number of rows in the section. 
    return 1; 
} 


// Customize the appearance of table view cells. 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{  
    return infoCell; 
} 

上面的代碼不起作用。 (首先看起來不正確)。我收到以下錯誤

***終止應用程序由於未捕獲的異常「NSInternalInconsistencyException」,理由是:「UITableView的數據源必須的tableView返回細胞:的cellForRowAtIndexPath:」

誰能告訴我什麼正確的方法是在顯示我的infoCell

回答

1

您已經在視圖控制器中創建了自定義單元格,這是不可能的。使用IB來創建自定義單元格並在那裏設計你的UI。然後在您的cellForRowAtIndex方法中使用以下代碼:

CustomCell *cell = (CustomCell *)[tableView dequeueReusableCellWithIdentifier:identifier]; 

if (cell == nil) { 
    NSArray *nibObjects=[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:nil options:nil]; 
    for (id currentObject in nibObjects) { 
     if ([currentObject isKindOfClass:[CustomCell class]]) { 
      cell = (CustomCell *) currentObject; 
      break; 
     } 

    } 
+0

嗨克里希南,謝謝你的迴應。如果我需要每個角色都是不同的設計呢?我可以使用這種方法嗎?其實我試圖按照文檔http://developer.apple.com/library/ios/#DOCUMENTATION/UserExperience/Conceptual/TableView_iPhone/TableViewCells/TableViewCells.html。在「靜態行內容技術」部分下。但我必須在這裏錯過一些東西。任何建議表示讚賞!謝謝 – Zhen 2011-05-23 09:19:37

+0

這是我第一次看到這種方法。我會看到它並回應。 – Krishnan 2011-05-23 09:32:18

+0

我相信你必須錯過控制器和XIb文件中的單元之間的IB連接。我開發了類似的應用程序並進行了測試我沒有問題。你也可以嘗試調試,看看infoCell的值是否爲零或有一些值。 – Krishnan 2011-05-23 09:40:48

相關問題