2012-05-03 27 views
1

我正在創建一個自定義的tableviewcell,所以我相信默認tableviewcell的寬度將和tableview本身一樣寬嗎?iOS tableviewcell width與tableview不一樣

創建的tableview所以,我做完:

NSLog(@"%f",self.view.frame.size.width); 

...返回476.00,而當我在我的實例化的定製tableviewcell它返回320,而不是...

NSLog(@"%f", self.frame.size.width); 

我想創建單元格時或之後的值爲476 ...因爲我使用它作爲指導,以查看應該有多少列...

那麼,如何才能獲得完整的單元寬度? (順便說一句,電池確實需要整個行,我打印的背景爲黃色之後)

+0

這是用於iPhone或iPad的嗎?另外,你使用的是什麼樣的控制器,你是如何設置其框架的(或者你是否設置了它)? – rdelmar

+0

我只是使用從UIViewController擴展的類,在這個控制器中我保留了tableView的一個實例變量。我沒有明確地設置自定義單元格的寬度,但我確實設置了tableview的寬度,說它應該和父容器一樣大。也請看下面留給另一位回覆者的答案。 – user1118019

+0

我想我想知道如何爲容器獲得寬度476--這是關於橫向模式下的表格寬度(而320是縱向模式的標準寬度)。你在橫向模式? – rdelmar

回答

0

我已經成立了一個iPhone應用程序,以在橫向模式下啓動,並記錄表格的寬度和單元格的寬度,我讓你看到同樣的事情(直到我滾動該表,然後它將該值更改爲正確的寬值)。除非你在你的自定義單元格中繼承了setFrame:在你的自定義單元格中,單元格寬度將與表格寬度相同,所以爲什麼不在你的計算中使用self.view.frame.size.width(你的視圖)呢?

0
guestTable = [[UITableView alloc] initWithFrame:CGRectMake(0,74,320,340)  style:UITableViewStyleGrouped]; 

所以在CGRectMake它定義的UITableView。 這是你的意思嗎? 它應該自動設置單元格到UITableView寬度。

+0

不,我啓動我的UItableview像這樣在控制器 _tableView = [[UITableView alloc] initWithFrame:self.view.frame]; 並且在該委託方法 - (的UITableViewCell *)的tableView:(UITableView的*)的tableView的cellForRowAtIndexPath:(NSIndexPath *)indexPath { 我創建自定義單元格 細胞= [[MyOwnCustomCell的alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier] ; 在單元格的overriden init方法中,我打印它的寬度,它與tableview不一樣... – user1118019

1

檢查此:

-(void)layoutSubviews 
{ 
    // Set the UITableView frame here: 
    [super layoutSubviews]; 
} 
相關問題