Вы должны быть в состоянии достичь этого:
- подклассов UIWindow и наиважнейшей
drawRect
обратить ваше изображение; подробнее о подклассе UIWindow
here
- , а затем с помощью
UIAppearance
для управления цветом фона для остальных видов в приложении (вы должны установить его на clearColor
); подробности об этом here, хотя я думаю, что вам нужно подкласс мнения, используемые контроллерами для того, чтобы справиться с запиской в принятом ответе
Базовая реализация может выглядеть следующим образом:
class WallpaperWindow: UIWindow {
var wallpaper: UIImage? = UIImage(named: "wallpaper") {
didSet {
// refresh if the image changed
setNeedsDisplay()
}
}
init() {
super.init(frame: UIScreen.mainScreen().bounds)
//clear the background color of all table views, so we can see the background
UITableView.appearance().backgroundColor = UIColor.clearColor()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func drawRect(rect: CGRect) {
// draw the wallper if set, otherwise default behaviour
if let wallpaper = wallpaper {
wallpaper.drawInRect(self.bounds);
} else {
super.drawRect(rect)
}
}
}
и в AppDelegate:
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow? = WallpaperWindow()
Вы должны быть в состоянии достигнуть этого подклассов UIWindow и переопределение 'drawRect' обратить ваше изображение. А затем установите UIColor.clearColor в качестве фона для всех видов. – Cristik