Я работал над этим часами (сегодня) / месяцами. Я просто хочу, чтобы мой BG оставался постоянным на всех контроллерах представления, а также на одних и тех же кнопках с одинаковыми командами для всех них.
Это только элемент переднего плана, который перемещается в центре видоискателя из стороны в сторону.
Я попытался использовать подкласс, это никак не повлияло на мой контроллер вида. Когда я пытался заставить мои кнопки остаться, я пытался обмануть и использовать панель вкладок, но контроллер панели вкладок заблокирован внизу, и я не могу переместить его вверх по оси y.
Есть ли более простой способ? Есть ли способ заставить контроллер представления иметь основные компоненты, а любой другой контроллер представления имеет подкомпоненты, которые переходят один от другого, используя контроллер основных компонентов.
При попытке создать подкласс я создал файл сенсорного класса и поместил ..
импорт UIKit
Класс WallpaperWindow: UIWindow {
var wallpaper: UIImage? = UIImage(named: "BG.png") {
didSet {
// refresh if the image changed
setNeedsDisplay()
}
}
init() {
super.init(frame: UIScreen.main.bounds)
//clear the background color of all table views, so we can see the background
UITableView.appearance().backgroundColor = UIColor.clear
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func draw(_ rect: CGRect) {
// draw the wallper if set, otherwise default behaviour
if let wallpaper = wallpaper {
wallpaper.draw(in: self.bounds);
} else {
super.draw(rect)
}
}
, а затем положить
var window: UIWindow? = WallpaperWindow()
в мой AppDelegate ...
код работал найти, просто мой фон вообще не изменился ...
Связанный с перемещением панели вкладок вверх по оси Y, мне не повезло, она была заблокирована .... считая даже жесткий UIcoding ..