Исправлен фон для приложения iPhone с использованием раскадровки - PullRequest
3 голосов
/ 13 февраля 2012

Не получается найти способ исправить графику - светлую графику, которая будет оставаться статичной, когда пользователь будет перемещаться от сцены к сцене. Несколько дней прочесывал форумы, но большинство ответов указывают на MainWindow.xib, который не создан для проекта раскадровки. Буду признателен за любые советы.

Ответы [ 4 ]

6 голосов
/ 14 февраля 2012

Вот что я смог собрать вместе благодаря совету @Max. Как я уже сказал, очень плохо знаком с этим, поэтому, если этот код нуждается в настройке, пожалуйста, оставьте комментарий, чтобы я не вводил других в заблуждение.

Добавьте изображение в главное окно приложения в методе didFinishLaunchingWithOptions AppDelegate:

UIImageView *myGraphic = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"myGraphic.png"]];
[self.window.rootViewController.view addSubview: myGraphic];
[self.window.rootViewController.view sendSubviewToBack: myGraphic];

Затем, чтобы сделать ваши представления прозрачными, чтобы фон просвечивал - в вашем классе / ах viewController добавьте метод viewDidLoad:

self.view.backgroundColor = [UIColor clearColor];

(И обратите внимание, если вы попытаетесь уменьшить прозрачность через свойство alpha для представления через инспектор атрибутов, оно сделает все прозрачным в этом представлении - кнопки и т. Д., Поэтому это необходимо сделать программно.)

Конечно, это не полностью проверено. Но сейчас это работает, и это красота. Спасибо всем.

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

Один из способов сделать это - он может быть не лучшим - может заключаться в том, что вы создаете подкласс UIView и устанавливаете экземпляр UIView во всех ваших viewControllers в раскадровке как экземпляр вашего урезанного класса UIView, который содержит ваш графика в качестве фона.

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

Вы можете попробовать вручную добавить UIImageView в ваше окно, а затем установить 0 прозрачности фона. для всех остальных просмотров.

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

Если вы собираетесь заняться этим программно, в каждом контроллере представления установите:

[[self view] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"background.png"]]];

in viewDidLoad

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

Однако, используя это решение, вам все равно придется выполнить вызов метода в каждом контроллере представления, где вы хотите применить этот стиль.

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