Как программно добавить представление в другое представление, загруженное из файла XIB? - PullRequest
1 голос
/ 28 июля 2011

У меня есть файл XIB (просмотр), в котором есть панель инструментов и вид под ним, как показано на рисунке ниже:

Desired View

Вы также можете просмотреть изображение здесь.

Я использую следующий PhotoScroller: http://developer.apple.com/library/ios/#samplecode/PhotoScroller/Introduction/Intro.html

Проблема в том, что PhotoScroller динамически создается в метод loadView и напрямую назначается его собственному представлению. Это заставляет PhotoScroller заполнять весь экран, а это не то, что я хочу.

Я хочу иметь возможность размещать PhotoScroller только внутри вида, который находится под панелью инструментов (то есть вид с номером 2 на рисунке выше).

Я думаю, что мне нужно загрузить представление, которое находится внутри файла XIB, и назначить PhotoScroller этому представлению. Однако я понятия не имею, как это сделать (или если это даже решение).

Как я мог это сделать?

PS: Хотя номер 2 показывает список, это не список! s just a simple blank view (I just couldn не могу найти лучшее изображение для размещения здесь.

Заранее спасибо! :)

1 Ответ

1 голос
/ 28 июля 2011

Вместо выполнения

self.viewPanels = pagingScrollView

попытайтесь выполнить (это будет работать, только если вы добавите viewPanels в качестве подпредставления для self.view):

[self.viewPanels addSubview:pagingScrollView];

Я думаю, что вытакже следует изменить или переопределить реализацию frameForPagingScrollView, которая поставляется с образцом Apple:

- (CGRect)frameForPagingScrollView {
  CGRect frame = [[UIScreen mainScreen] bounds];
  frame.origin.x -= PADDING;
  frame.size.width += (2 * PADDING);
  return frame;
}

Как вы видите, здесь рамка довольно жестко запрограммирована относительно размера экрана;в вашем случае рамка будет короче, поэтому вы должны также изменить высоту.

...