2014-09-03 3 views
0

Я разрабатываю приложение iOS с UITableView. Я начинаю разрабатывать приложение с помощью приложения Master-Detail, и я использую StoryBoard.Вставить поле между навигационной панелью и UITableView

Я хотел бы вставить поле 320px * 100px между навигационной панелью и UITableView. (Высота навигационной панели - 44px.)

Я записываю следующий код. Однако маржа не появляется.

Не могли бы вы рассказать мне, как решить эту проблему?

@interface MasterViewController()<UITableViewDataSource,UITableViewDelegate> 

@property (strong, nonatomic) IBOutlet UITableView *tableView; 

@end 

@implementation MasterViewController 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    self.tableView.delegate = self; 
    self.tableView.dataSource = self; 
    self.tableView.frame = CGRectMake(0, 144, 320, self.view.frame.size.height); 

} 
+0

Вы устанавливаете рамку tableView в начало координат (0,44) (320,100). Разве вы не хотите, чтобы происхождение (0,144) дало вам пробел? Если да, попробуйте 'CGRectMake (0,144,320, self.tableView.frame.size.height-100)' – pbasdf

+0

Как вы указали, значение CGRectMake было неправильным и отредактировано до правильного значения в приведенном выше коде. Однако остается, что маржа не появляется. – supermonkey

+0

'@property (сильный, неатомный) IBOutlet UITableView * tableView;' лучше использовать 'слабый' для выходов' IBOutlet', ссылка: http://stackoverflow.com/questions/7678469/should-iboutlets-be-strong- или-слабо-под дугой –

ответ

2

Это ваша линия:

self.tableView.frame = CGRectMake(0, 44, 320, 100); 

100 комплектов tableView высота 100 вместо края. Постарайтесь, пожалуйста, следующее:

self.tableView.frame = CGRectMake(0, 44 + 100, 320, self.view.frame.size.height - 44 - 100); 
+0

Спасибо. Однако маржа не появляется. – supermonkey

+0

Вы не меняете tableView.frame другими способами? –

+0

Нет, я не изменяю другие методы. – supermonkey

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