ios - ViewController 背景颜色不会改变
问题描述
我已经开始了一个新项目,我正在尝试使用 MVC 和编程 UI 创建它。
我正在尝试设置 aViewController
的背景颜色,但它不会改变。
我已经编写了我的程序化 UI,但是我更改了ViewController
本身的背景颜色,而不是从view
.
这是我的view
:
import UIKit
class ReportView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = UIColor.appColors.white
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
这是我的ViewController
:
import UIKit
class ReportsVC: UIViewController {
override func loadView() {
view = ReportView()
}
override func viewDidLoad() {
super.viewDidLoad()
}
}
这是我的AppDelegate
:
import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var navigationController: UINavigationController?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch.
self.window = UIWindow(frame: UIScreen.main.bounds)
if let window = window{
let reportsVC = ReportsVC()
navigationController = UINavigationController(rootViewController: reportsVC)
window.rootViewController = navigationController
window.makeKeyAndVisible()
}
return true
}
}
我尝试从ViewController
本身更改背景颜色只是为了检查,但它保持不变。
解决方案
您需要将视图添加到 viewcontroller 的内容视图中,如下所示:
self.view.addSubview(ReportView(frame: self.view.frame))
视图需要有一个可见的框架。
推荐阅读
- tensorflow - 是否可以保存 Tensorboard 会话?
- javascript - 来自ajax php程序的Highcharts系列setData
- amazon-web-services - 错误:: ResourceNotFoundException: 在 AWS.config.credentials.refresh 中找不到请求的资源
- lowercase - 如何将两个字符串之间的文本小写
- java - JMS 动态消息选择
- typescript - “结构类型保护”适用于 `if`,但不能用作数组过滤谓词
- python - 无法在 iconomi 的 python 中使用 sha512 签署消息
- php - 文本中出现的方块,想要搜索和替换
- reactjs - 复制元素reactjs
- python - 将数组过滤为数据框中的列