Программное изменение ширины или высоты не работает для приложения Mac - PullRequest
3 голосов
/ 07 июля 2011

У меня очень странная проблема.Мне нужно программно увеличить мою высоту TableView.Но программное изменение кадра с точки зрения ширины или высоты не применяется.Есть ли какой-нибудь другой способ изменить кадры в Какао?

Я использую следующий код:

-(IBAction )topButtonClicked:(id)sender{
    if(testView.isHidden == NO){
        [testView setHidden:YES];
        [tableView setFrame:NSMakeRect(0,595, 666,595+120)];
}
    else {
        [tableView setFrame:NSMakeRect(0,595, 666,595)];
        [testView setHidden:NO];
    }
}

1 Ответ

4 голосов
/ 07 июля 2011

По умолчанию табличное представление заключено в представление прокрутки, а представление прокрутки настроено на автоматическое изменение размера его подпредставлений.Это означает, что изменение только одного фрейма табличного представления не будет работать, потому что вмещающее представление прокрутки автоматически изменит его размер.

Вместо этого следует изменить фрейм вмещающего представления прокрутки.Например:

[[tableView enclosingScrollView] setFrame:NSMakeRect(0,595, 666,595+120)];

или у вас может быть выход для вида прокрутки:

[tableScrollView setFrame:NSMakeRect(0,595, 666,595+120)];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...