Как сделать детальный просмотр прокручиваемым в приложении master detail - PullRequest
2 голосов
/ 29 февраля 2012

Я работаю в iOS всего несколько месяцев, но я часами бьюсь головой об стену, пытаясь что-то, что кажется довольно простым. Я использовал шаблон основной детали в Xcode для приложения для iPad. Я хочу, чтобы часть детали прокручивалась, чтобы показать содержимое ниже того, что видно в кадре, в любой ориентации. Я пробовал многочисленные комбинации добавления видов прокрутки в DetailViewController в viewWillAppear, viewDidLoad, loadView ... и лучшее, что я могу придумать, это то, что выглядит как прокручиваемое представление на верхнем слое, так как оно показывает полосы прокрутки и показывает, что я сделал scrollView.contentSize правильно, так как я могу перемещаться, но фактическое представление с полями и прочим не перемещается, и поля не могут быть отредактированы. Вот мой viewDidAppear в его нынешнем виде. Как вы можете видеть в NSLogs, я пытаюсь понять стек представлений. Если я раскомментирую строку перед журналами, я полностью потеряю полосы прокрутки.

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

    UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 768, 1024)];
    scrollView.contentSize = CGSizeMake(2048, 2048);

    UIView *parentView = [[UIView alloc] init];

    parentView = [[self view] superview];

    [[parentView superview] addSubview:scrollView];

    //[scrollView addSubview:[self view]];

    NSLog(@"%@", [parentView superview]);
    NSLog(@"%@", parentView);
    NSLog(@"%@", [super view]);
    NSLog(@"%@", [self view]);

    [scrollView setDelegate:self];

}

Буду искренне признателен за любые рекомендации или советы о том, как правильно реализовать UIScrollView для этого сценария.

Ответы [ 2 ]

1 голос
/ 29 февраля 2012

Вы должны добавить UIScrollView в IB.Обязательно переместите все свои существующие виды и элементы управления, чтобы они были подпредставлениями вида прокрутки.И вам нужно будет связать представление прокрутки с IBOutlet, чтобы вы могли установить размер содержимого в вашем контроллере представления.

0 голосов
/ 29 февраля 2012

Вместо того, чтобы пытаться обернуть uiscrollview вокруг суперпредставления вашего основного вида (которым вы неправильно пытались стать владельцем (в любом случае, оно должно быть NULL)), почему бы не объединить элементы пользовательского интерфейса в полноразмерное подпредставление и не обернуть представление прокрутки вокруг этого? Это было бы намного проще.

Ваша иерархия будет выглядеть так:

Self.view -> ScrollView (с установленным contentSize) -> UIView, содержащий элементы, которые необходимо прокрутить -> различные элементы пользовательского интерфейса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...