2013-10-31 49 views
-2

試圖用自定義單元格製作表格視圖。 我看了一些教程,而不是打開一個新的項目,並按照一步一步的步驟。 我試圖用我目前的做。這樣我就可以解決問題並學習更多。UITableView Custon單元不工作

所以我在這裏做了到目前爲止的步驟: 簡單的實現代碼如下:

enter image description here

(WorkoutList.xib)

WorkoutList.h(workoutTableView是一個U看到上面的圖片)

enter image description here

WorkoutList.m:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.workoutTableView.dataSource = self; 
    self.workoutTableView.delegate = self; 

    TitleArray = [[NSArray alloc] initWithObjects:@"First", @"Second", @"Third", nil]; 
} 

- (void)didReceiveMemoryWarning 
{ 
    [super didReceiveMemoryWarning]; 
} 

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
    return 1; 
} 

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return TitleArray.count; 
} 

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return 60; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"Cell"; 

    WorkoutCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 

    if (!cell) 
    { 
     cell = [[WorkoutCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
    } 

    cell.workoutTitle.text = [TitleArray objectAtIndex:indexPath.row]; 
    cell.workoutImage.image = [UIImage imageNamed:@"list-item-icon3"]; 

    return cell; 
} 

WorkoutCell.xib:

enter image description here

自定義類是:WorkoutCell 標識符是:細胞

WorkoutCell.h:

enter image description here

我看到的只是一個emp ty TableView ..

我知道它有一個很長的問題,但它對我來說理解它並查看我的錯誤在哪裏非常重要。非常感謝 !

+1

什麼是「不工作」?沒有把我訪問鏈接請。形容它! – 2013-10-31 09:58:33

+0

我只是寫了一切關於我的問題,與代碼和圖像.. – user2936284

+1

好,比你得到了投票 – 2013-10-31 10:00:40

回答

1

在你viewcontroller.h文件,確保您在這樣的界面添加<UITableViewDataSource, UITableViewDelegate>

@interface myViewController : UIViewController <UITableViewDelegate, UITableViewDataSource> 

另外在的.xib文件選擇的UITableView並連接數據源和委託給文件所有者和的tableView到workoutTableView像下面的截圖:

enter image description here

終於在廈門國際銀行Workoutecell,選擇文件的所有者和您的視圖控制器添加到自定義類。

0

這裏不需要創建.h和.m文件。只需創建WorkoutCell.xib文件..然後在文件檢查器(RHS)中爲UIImageview(標記1)和UILabel(標記2)設置標記值...然後在cellForRowAtIndexPath中寫入以下代碼

 static NSString *MyIdentifier = @"WorkoutCellIdentifier"; 
      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier]; 

      // If no cell is available, create a new one using the given identifier. 
      if (cell == nil) { 
       // Use the default cell style. 
       NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"WorkoutCell" owner:self options:nil]; 
       cell = [nib objectAtIndex:0]; 
      } 

      UIImageView *img = (UIImageView *) [cell viewWithTag:1]; 
      [img setImage:[UIImage imageNamed:@"your image"]]; 
      UILabel *lbl=(UILabel *)[cell viewWithTag:2]; 
      [lbl setText:@"your Text"]; 
    } 
    } 
0

此外,您擁有TitleArray.count,就好像它是屬性一樣。 count是一個數組上的方法。您需要按如下所示調用它:

return [TitleArray count];