установить фоновое изображение для всего приложения iPhone / iPad

У меня есть одно изображение, которое я хочу в качестве фона для своего приложения, независимо от того, на каком объекте управления ими находятся – как вы это делаете?

Вот как вы устанавливаете фон для изображения:

self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"]]; 

Редактировать: Чтобы написать, что сказал Феликсис (и благодаря Манни), сделайте это в своем делегате:

 window.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"]]; 

И в каждом представлении вы хотите иметь изображение, сделайте следующее:

 self.view.backgroundColor = [UIColor clearColor]; 

Зависит от того, какой интерфейс у вас есть. Вкладки? Навигационная система? Но общий ответ: добавьте UIImageView в свой UIWindow до / ниже вашего основного вида. Затем сделайте каждый вид, обработанный вашим основным controllerом представления, прозрачным фоном. Трудно дать более конкретные советы, не зная, используете ли вы IB или нет, или как выглядит ваша иерархия взглядов.

В моем приложении я установил цвет фона по умолчанию. Возможно, вы можете сделать это с фоновым изображением:

1 .: Установите цвет фона вашего UIWindow в AppDelegate:

 window.backgroundColor = [UIColor myBackgroundGray]; // own Category 

2: И теперь сделайте все другие виды прозрачными:

 self.view.backgroundColor = [UIColor clearColor]; // = transparent 

В вашем AppDelegate в

 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 

Добавьте эту строку:

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

После того, как вам просто нужно установить фоны просмотров на [UIColor clearColor];

Я не уверен в производительности, но мне нужно было что-то сделать, и в итоге я использовал UIImageView, который хорошо работает (на C #, но работает одинаково в obj-c):

 //Add the view controller first, to ensure proper order of views later. Window.RootViewController = new UIViewController(); //create backdrop image view var imageView = new UIImageView(Window.Bounds); imageView.Image = UIImage.FromBundle("backdrop.jpg"); //insert into window. Window.InsertSubview(imageView, 0); 

Это не касается изменений ориентации, но в моем случае позволило мне добавить эффекты движения на задний план (например, параллакс).

Ваш фон является свойством любого объекта, наследующего объект. Например, ярлыки, кнопки, controllerы и окно приложения имеют фон. Если вы хотите, чтобы это было полностью bg для всего приложения, вы должны подняться по пути в своих controllerах, чтобы найти очень «верхнее» (снизу) представление и установить его фон как желаемое изображение.

просто назовите это assignbackground в viewDidLoad

 override func viewDidLoad() { assignbackground() } func assignbackground(){ let background = UIImage(named: "background") var imageview : UIImageView! imageview = UIImageView(frame: view.bounds) imageview.contentMode = UIViewContentMode.ScaleAspectFill imageview.clipsToBounds = true imageview.image = background imageview.center = view.center view.addSubview(imageview) self.view.sendSubviewToBack(imageview) } 

Обычно я использую эту функцию, чтобы избежать совпадений с панелью навигации на iphone.

 -(void)setImageBackground:(NSString*)imageName{ UINavigationController* navigationController = [self navigationController]; float height = navigationController.toolbar.frame.size.height; CGSize size = self.view.frame.size; size.height = size.height; UIGraphicsBeginImageContext(size); CGRect bounds = self.view.bounds; bounds.origin.y = bounds.origin.y + height; bounds.size.height = bounds.size.height-height; [[UIImage imageNamed:imageName] drawInRect:bounds]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); self.view.backgroundColor = [UIColor colorWithPatternImage:image]; } 
  • всплывающее меню iPhone, как iPad popover?
  • iOS 5 не позволяет сохранять загруженные данные в папке «Документы»?
  • Что такое простой способ разбить NSArray с 4000+ объектами в нем на несколько массивов с 30 объектами каждый?
  • Лучший способ удалить из NSMutableArray во время итерации?
  • iVar свойство, доступ через self?
  • Ошибка AdMob с помощью : непризнанный селектор
  • Измените первый символ в каждом слове строки на верхний регистр.
  • Убедитесь, что вход в UITextField только числовой
  • Что делает @synthesize window = _window?
  • Как программно предотвратить переключение Mac на hibernate?
  • iphone facebook side menu с помощью объектива c
  • Interesting Posts

    Как подтвердить, что почта была доставлена ​​или нет?

    Странная проблема с WiFi на HP ab522tx

    mod_rewrite: заменить подчеркивания тире

    Почему фрагменты дисков?

    Проблема CORS при выполнении запроса Ajax для токена доступа oauth2

    Является ли температура на 53 ° C слишком высокой для процессора Intel Core 2 Duo E8400 @ 3,00 ГГц?

    Как клонировать подпапку репозитория в Mercurial?

    Android: добавление текстового представления в линейный макет программно

    Драйвер устройства чтения карт не установлен правильно, но тот же самый драйвер, используемый для работы

    Почему кто-то использует #define для определения констант?

    Отображение ManyToMany с составным основным ключом и аннотацией:

    Swing – Thread.sleep () stop JTextField.setText () working

    Как я могу анализировать даты и преобразовывать часовые пояса в Perl?

    Изображение, сохраненное на SD-карте, не отображается в приложении «Галерея Android»

    «Не объявлена ​​в этой области» ошибка с шаблонами и наследованием

    Давайте будем гением компьютера.