Лучшая практика: анимация просмотра на iPhone - PullRequest
1 голос
/ 27 декабря 2008

Если я хочу использовать Core Animation для постепенного исчезновения изображения в представлении и вне его - будет ли хорошей практикой иметь UIView в том же NIB, что и представление, в которое оно рисуется? Должен ли я создать представление в другом файле NIB и загрузить его оттуда? Я рассчитываю на анимацию трех небольших видов одновременно для отображения действий пользователя. Я хотел построить взгляды в IB. Ищите ответ типа "лучший метод" здесь.

Ответы [ 3 ]

3 голосов
/ 27 декабря 2008

Вы можете иметь три вида как отдельные UIViews в пределах одного XIB, или расположить три вида в одном представлении (в противном случае вам придется размещать их в коде). Установите их начальные альфа-значения равными 0.0, а затем добавьте их так же просто, как:

[UIView beginAnimations:@"fade" context:nil];
[UIView setAnimationDuration:1.0];
myViewOne.alpha = 1.0;
myViewTwo.alpha = 1.0;
myViewThree.alpha = 1.0;
[UIView commitAnimations];

Я бы не помещал каждое из трех представлений в отдельные XIB, если вы планируете отображать их все вместе. Я обычно разбиваю вещи таким образом, если они являются частями отдельных «экранов», которые никогда не будут показаны вместе.

1 голос
/ 13 февраля 2009

Apple рекомендует один XIB для каждой комбинации UIViewController / UIView. Это происходит потому, что если вы поместите несколько ViewCOntrollers и Views в одну и ту же XIB, все они будут загружены одновременно и израсходуют память для всех элементов XIB, даже если на экране будет только один.

Рекомендуется использовать MainWindow.xib, чтобы иметь прокси для каждой из xibs (комбинаций UIViewController / UIView), которые вы планируете загружать.

Если вы просто загружаете подпредставления, как описано выше, вы можете создать их в одном и том же xib или встроить их программно в viewDidLoad или viewWillAppear (которые будут вызываться после загрузки xib с вашим «базовым» представлением.

0 голосов
/ 27 декабря 2008

Я думаю, что интерфейсный конструктор должен использоваться как можно чаще ... поэтому я рекомендую, чтобы каждое представление представляло собой свой собственный файл xib ... помните, что вы можете построить иерархию классов, которая расширяется из UIViewController, если есть много совпадений в функциональность между представлениями.

...