2013-04-16 2 views
0

Я разрабатываю пользовательский tableviewcell для использования по моему projcect с именем класса UpdatesTableViewCell. то, что у меня осталось до сих пор, показано в моментальных снимках в нижней части этого вопроса.Пользовательский tableviewcell не занимает оставшуюся часть содержимого контейнера родительского стола.

Единственная проблема, с которой я столкнулся К сожалению, все это связано с тем, что макет приложения работает только в портретной ориентации, но не в ландшафтном режиме.

То есть, когда мой iphone повернут в пейзаж, вышеупомянутая пользовательская ячейка, похоже, не заполнит все пространство табличного представления, оставив после этого пробел. Это не будет приятным для пользователя.

Обратите внимание, что я также установил автосоциализацию, чтобы сказать, что 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

обратите внимание ю Я также установил автосоциализацию, чтобы сообщить tableviewcell развернуть как влево, так и вправо, заполнив пространство контейнера. (См. 1-е снимок изображения)

Для регулировки ширины необходимо пометить стрелку в горизонтальном направлении.

То, что вы прямо сейчас:

UIViewAutoresizingFlexibleLeftMargin и UIViewAutoresizingFlexibleRightMargin
мнение изменяет размер путем расширения или сокращения в направлении левого/правого края.

Что вам нужно:

UIViewAutoresizingFlexibleWidth
мнение изменяет размер путем расширения или сокращения его ширины.

+0

Ваше предлагаемое решение работает как очарование –

Смежные вопросы