2015-02-11 98 views
0

我遇到了一個惱人的問題,我不能爲我的生活發現。我知道這已被覆蓋,據我所知,我做的一切正確,但我不能讓這個自定義單元顯示在模擬器上。自定義tableviewcell.xib不填充tableview

我這個問題的表視圖和集合視圖,以及我的結果可以看到兩個相同的方式,所以如果你可以幫助我與表視圖它將不勝感激。這裏有:

以下代碼來自View Controller的.m文件,您可以在viewdidload方法中看到,我註冊了nib並給出了重用標識符'tableViewCell'。現在糾正我,如果我錯了,但我相信我應該把這個標識符給故事板的原型單元格,並留下xib的重用標識符爲空。換句話說,我應該使用'tableViewCell'標識符的唯一地方是原型單元格,viewdidload方法和cellforRowAtIndexPath方法,對嗎?請讓我知道如果我錯過了任何步驟,請提前致謝:

#import "headEndChassisViewController.h" 
#import "HeadEndChassisTableViewCell.h" 

@interface headEndChassisViewController() 

@end 

@implementation headEndChassisViewController 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view. 

    UINib *cellNib = [UINib nibWithNibName:@"headEndChassisCollectionViewCell" bundle:nil]; 
    [self.headEndChassisCollectionView registerNib:cellNib forCellWithReuseIdentifier:@"headEndCell"]; 

    UINib *tableViewCellNib = [UINib nibWithNibName:@"HeadEndChassisTableViewCell" bundle:nil]; 
    [self.headEndChassisTableView registerNib:tableViewCellNib forCellReuseIdentifier:@"tableViewCell"]; 


    //The code below configures the textviews underneath the CollectionView 

    [[self.slotNumberTextView layer] setBorderColor:[[UIColor blackColor] CGColor]]; 
    [[self.slotNumberTextView layer] setBorderWidth:1]; 
    [[self.slotNumberTextView layer] setCornerRadius:1]; 
    self.slotNumberTextView.editable = NO; 

    [[self.slotStatusTextView layer] setBorderColor:[[UIColor blackColor] CGColor]]; 
    [[self.slotStatusTextView layer] setBorderWidth:1]; 
    [[self.slotStatusTextView layer] setCornerRadius:1]; 
    self.slotStatusTextView.editable = NO; 

    [[self.bandTextView layer] setBorderColor:[[UIColor blackColor] CGColor]]; 
    [[self.bandTextView layer] setBorderWidth:1]; 
    [[self.bandTextView layer] setCornerRadius:1]; 
    self.bandTextView.editable = NO; 

    [[self.typeTextView layer] setBorderColor:[[UIColor blackColor] CGColor]]; 
    [[self.typeTextView layer] setBorderWidth:1]; 
    [[self.typeTextView layer] setCornerRadius:1]; 
    self.typeTextView.editable = NO; 

    //Code below configures the input power textview corner radius 

    [[self.inputPowerTextView layer] setCornerRadius:3.3]; 

    //Code below configures border for Apply and Reset Buttons 

    [[_resetButtonProperty layer]setBorderWidth:1.0f]; 
    [[_applyButtonProperty layer]setBorderWidth:1.0f]; 


} 

- (void)didReceiveMemoryWarning { 
    [super didReceiveMemoryWarning]; 
    // Dispose of any resources that can be recreated. 
} 

/* 
#pragma mark - Navigation 

// In a storyboard-based application, you will often want to do a little preparation before navigation 
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    // Get the new view controller using [segue destinationViewController]. 
    // Pass the selected object to the new view controller. 
} 
*/ 

#pragma mark - Collection View 

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{ 
    return 1; 
} 

-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{ 
    return 12; 
} 
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ 

    UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"headEndCell" forIndexPath:indexPath]; 

    cell.backgroundColor = [UIColor whiteColor]; 
    return cell; 
} 




#pragma mark - Table View 

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

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 
    return 8; 
} 

-(UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"tableViewCell" forIndexPath:indexPath]; 
    cell.backgroundColor = [UIColor whiteColor]; 

    return cell; 
} 

- (IBAction)resetButton:(id)sender { 
} 

- (IBAction)applyButton:(id)sender { 
} 
@end 
+0

'cellNib'最終是否爲零?如果這樣做意味着它找不到你的筆尖。 xib中的單元格是「UITableViewCell」的子類嗎?如果不是,那麼它將無法將其出隊。 xib'tableViewCell'中的重用標識符是否相同?如果不是,它將無法將其出隊。 – InkGolem 2015-02-11 23:46:18

回答

0

這可能是一些事情。

1您是否設置了表視圖和集合視圖的委託和數據源?這通常會錯過(自己做幾次)。我沒有在viewDidLoad中看到它,所以你必須在故事板中完成它。你沒有提到你嘗試登出行的細胞,這導致我相信這是問題的根源,並且鑑於你沒有得到錯誤或崩潰,這是我最好的選擇。

第二它可能是如何加載你的筆尖。我相信你不需要在代碼中這樣做。我認爲你可以將一個UITableView單元格拖入你的表格視圖,設置重用,並在督察中設置類。如果我錯誤地按this中描述的加載筆尖,博客也爲我工作過去。

希望能有所幫助。

+0

哇我覺得自己像一個白癡,原來是設置數據源和代表。謝謝你,先生。 – Ayman 2015-02-12 20:24:04

+0

就像我說過的那樣,我經常會錯過,而且我自己做了很多次。很高興我能夠提供幫助。 – 2015-02-12 20:27:41