Прежде всего я удивлен, что не мог найти этот вопрос здесь и в Google. Кажется, что-то другим может понадобиться эта функциональность. Так что, если это все-таки дубликат, извините, я искал высоко и низко.Изображение в качестве фона для каждого окна
У меня есть приложение со следующей структурой в моем раскадровки:
-> Root Tab Bar контроллер -> (для каждой из вкладок) SplitView Controller -> Навигационный контроллер -> TableView Controller -> Detail View Controller
Я хочу установить фоновое изображение, которое будет одинаковым во всем приложении. Моя идея состояла в том, чтобы установить это изображение в моем App Делегат для контроллера Tab Root в:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool
метод. :
var imageView = UIImageView(frame: self.window!.frame)
var image = UIImage(named: "bg.png")!
imageView.image = image
self.window!.rootViewController!.view.backgroundColor = UIColor.clearColor()
self.window!.rootViewController!.view.addSubview(imageView)
self.window!.rootViewController!.view.sendSubviewToBack(imageView)
Прежде всего, это хорошее место для его установки?
Проблемы у меня сейчас, если у меня есть, что последняя строка кода:
self.window!.rootViewController!.view.sendSubviewToBack(imageView)
Я не вижу изображение. (для моих UITableView и UITableViewCells я установил opaque для false и BackGroundColor для ClearColor)
Если я удалю эту последнюю строку, изображение будет там, но поверх всего, и я не вижу никакого содержимого (нет вкладок, нет сплит-вид ...)
Пожалуйста, помогите мне исправить это или показать лучший способ. ТИА
Проблема заключается в том, вы не знаете, что другие виды добавляются в иерархию на вкладке, расщепленных и навигационных контроллеров. вам, вероятно, придется подойти к уровню контроллера навигации – Wain
, это означало бы 2 вещи: мне нужно было бы реализовать это для каждого контроллера навигации (atm есть 2, но когда я добавлю вкладку, мне снова нужно будет это сделать) , Я решил это, создав пользовательский класс NavControllerWithBackground и использую его. В ViewDidLoad я добавил код var imageView .... Но проблема остается (почти) одинаковой: с последней строкой изображение невидимо, без последней строки изображение находится поверх всего (за исключением вкладок). – Glenn
Моя цель - создать дочерний класс UIViewController, который задает фоновое изображение и выводит из него все ваши контроллеры. – Bisca