2013-04-16 54 views
0

我開發了一個自定義的tableviewcell用於跨我的項目,名爲UpdatesTableViewCell類。 我在這個問題底部的快照中顯示了我到現在爲止的內容。自定義tableviewcell不佔用父級tableview容器空間的其餘部分

唯一的問題我一直在 不幸的是,體驗是所有關於該應用程序佈局僅適用於縱向方向,但不適用於橫向模式。

也就是說,當我的iphone旋轉到橫向時,上面提到的 定製單元格似乎並沒有填滿包含表格視圖的所有空間,在它之後留下一些空白。這不會有令人愉快的用戶體驗。

請注意,我還設置了autosizing來告訴tableviewcell擴展左右兩邊,填滿容器的空間。 (見1快照圖片)

任何意見得到它的權利在橫向方向將是非常讚賞

..

UpdatesTableViewCell.xib

enter image description here

UpdatesTableViewCell.h

#import <UIKit/UIKit.h> 

@interface UpdatesTableViewCell : UITableViewCell 

@end 

UpdatesTableViewCell.m

#import "UpdatesTableViewCell.h" 

@implementation UpdatesTableViewCell 

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier 
{ 
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; 
    if (self) { 
     // Initialization code 
    } 
    return self; 
} 

- (void)setSelected:(BOOL)selected animated:(BOOL)animated 
{ 
    [super setSelected:selected animated:animated]; 

    // Configure the view for the selected state 
} 

@end 

和這裏的最後一部分是代碼中ResultViewController.m片段(親本的UITableViewController其中UpdatesTableViewCell習慣)

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

    UpdatesTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 

     NSArray* views = [[NSBundle mainBundle] loadNibNamed:@"UpdatesTableViewCell" owner:nil options:nil]; 

     for (UIView *view in views) { 
      if([view isKindOfClass:[UITableViewCell class]]) 
      { 
       cell = (UpdatesTableViewCell*)view; 
      } 
     } 
    } 

    return cell; 
} 

這裏是預料不到的結果如所提到的:

enter image description here

回答

2

請注意日在我也設置autosizing告訴tableviewcell到 擴大左和右,填滿容器的空間。 (請參閱第1張 快照圖片)

您需要標記水平箭頭以調整寬度。

你現在所擁有的是什麼:

UIViewAutoresizingFlexibleLeftMarginUIViewAutoresizingFlexibleRightMargin
視圖調整大小通過擴大或左/右頁邊距的收縮。

你需要的是:

UIViewAutoresizingFlexibleWidth
視圖調整大小以擴大或縮小其寬度。

+0

您建議的解決方案作爲一種魅力 –