2014-01-07 83 views
0

我一直在閱讀像瘋了試圖解決我的問題的文檔,但我不相信我的問題太困難了,我可能會錯誤地解決它。這裏是我的UIViewControllerUITableView中的TableCell視圖沒有出現在模擬器iOS7中

這裏就是它看起來像在模擬器:

imgur image

我只需要我的填充細胞實際出現在模擬器。我已在.H使用這個數據和委託來源:

@property (weak, nonatomic) IBOutlet UITableView *grTableView; 
@property(nonatomic, assign) id<UITableViewDataSource> dataSource; 
@property(nonatomic, assign) id<UITableViewDelegate> delegate; 

這.M的viewDidLoad

grTableView.dataSource = self; 
grTableView.delegate = self; 

而且我想設置的間距用這種方法(我請注意,我可以做的限制,但我不知道怎麼):

-(CGFloat)tableView:(UITableView*)tableView heightForHeaderInSection:(NSInteger)section 
{ 
    if(section == 0) 
     return 6; 
    return 1.0; 
} 

-(CGFloat)tableView:(UITableView*)tableView heightForFooterInSection:(NSInteger)section 
{ 
    return 5.0; 
} 

-(UIView*)tableView:(UITableView*)tableView viewForHeaderInSection:(NSInteger)section 
{ 
    return [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)]; 
} 

-(UIView*)tableView:(UITableView*)tableView viewForFooterInSection:(NSInteger)section 
{ 
    return [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, 0)]; 
} 

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

我目前還嘗試使用了這些細胞的方法(實現當我德爾ETE這些方法,單元格邊框出現在模擬器灰線,但這些細胞人口):

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView; 
- (NSInteger)numberOfRowsInSection:(NSInteger)section; 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath; 

我怎麼可以簡單地讓我的細胞內部的對象(在故事板)出現在模擬器工作? 如果您需要查看文檔大綱.M,或.H,或其他模擬器運行只是要求它,我將發佈。

附:使用bottomLayoutGuide約束底部的UIButton。

編輯:下面是cellForRowAtIndexPath:方法實現:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    return grImageNameCell; 
    return grBioCell; 
} 

這裏對於那些IBOutlets的.H代碼:

@property (weak, nonatomic) IBOutlet UITableViewCell *grImageNameCell; 
@property (weak, nonatomic) IBOutlet UITableViewCell *grBioCell; 
+0

怎樣的 - (UITableViewCell的*)的tableView:(UITableView的*)的tableView的cellForRowAtIndexPath:(NSIndexPath *)indexPath實施?你展示一個聲明,並談論當你移除它時會發生什麼,但你如何實現它? – valheru

+0

您是否爲每個原型單元格設置了單元重用標識符? – valheru

+0

我沒有細胞重用標識符,但我只想要兩個部分..或兩個細胞我猜。一秒鐘,我將在編輯中發佈實現 – Chisx

回答

0

用這個簡單的細胞加載:

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

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return self.objectsArray.count;//where this is your array that you'll use to populate cells 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{   
    static NSString *CellIdentifier = @"identifier here"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; 

    return cell; 
} 
1

使用CellIdentifiers是一種必需的原型細胞。這是代碼如何知道從Interface Builder使用哪個單元。

所以,你需要做的幾件事情:

首先,設置獨特的小區標識在Interface Builder中

設置每個原型細胞您的cellForRowAtIndexPath方法是這樣的:

- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath 

{ 
    NSString* CellID1 = @"CellID1"; 
    NSString* CellID2 = @"CellID2"; 

    UITableViewCell* cell; 

    if (indexPath.section == 0) 
    { 
     cell = [tableView dequeueReusableCellWithIdentifier:CellID1]; 
    } 
    else 
    { 
     cell = [tableView dequeueReusableCellWithIdentifier:CellID2]; 
    } 

    return cell; 
} 

注意:CellID1和CellID2是標識符。

+0

好的。我即將嘗試這個 – Chisx

+0

是的,這是行不通的。我在運行時得到一個編譯錯誤,我不確定這是否是B/C那些'NSString'需要'UITableViewCell'或什麼..沒有錯誤信息給出,我一直在嘗試修復它 – Chisx

+0

字符串只是單元格標識符。該單元已經是一個UITableViewCell。什麼是編譯錯誤/警告? – valheru

相關問題