首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建入职\Walkthrough swift

如何创建入职\Walkthrough swift
EN

Stack Overflow用户
提问于 2020-08-28 21:35:52
回答 1查看 153关注 0票数 0

我正在尝试为第一次登录的用户创建一个欢迎入职的界面,但是没有一个视图在模拟器中游荡,当onboardingVC出现时,我得到的只是一个红色背景。有没有人知道为什么标题、按钮和图片不会出现的问题?

这是我在控制台中得到的消息:

警告:试图在视图不在窗口层次结构中的上显示!全部找到了!!

代码语言:javascript
复制
let holderView: UIView = {
    let view = UIView()
        view.translatesAutoresizingMaskIntoConstraints = true
        view.backgroundColor = .darkGray
        return view
    }()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        view.backgroundColor = UIColor.white
    }
    
    override func viewDidLayoutSubviews() {
        super.viewDidLayoutSubviews()
        view.backgroundColor = UIColor.red
        configure()
    }
    
    private func configure() {
        let scrollView = UIScrollView(frame: holderView.bounds)
        holderView.addSubview(scrollView)
        
        let titles = ["Hi","Welcome","real nigga"]
        
        for x in 0..<3 {
            let pageView = UIView(frame: CGRect(x: CGFloat(x) * holderView.frame.size.width, y: 0, width: holderView.frame.size.width, height: holderView.frame.size.height))
            scrollView.addSubview(pageView)
            
            let label = UILabel(frame: CGRect(x: 10, y: 10, width: pageView.frame.size.width-20, height: 120))
            
            let imageView = UIImageView(frame: CGRect(x: 10, y: 10+120+10, width: pageView.frame.size.width-20, height: pageView.frame.size.height - 60 - 130 - 15))
            
            let button = UIButton(frame: CGRect(x: 10, y: pageView.frame.size.height - 60, width: pageView.frame.size.width-20, height: 50))
            
            label.textAlignment = .center
            label.font = UIFont.systemFont(ofSize: 16, weight: .semibold)
            pageView.addSubview(label)
            label.text = titles[x]
            
            imageView.contentMode = .scaleAspectFill
            imageView.image = UIImage(named: "BankCard\(x)")
            pageView.addSubview(imageView)
            
            button.setTitleColor(.red, for: .normal)
            button.backgroundColor = .black
            button.setTitle("Continue", for: .normal)
            if x == 2 {
                button.setTitle("Get Started", for: .normal)
            }
            button.addTarget(self, action: #selector(didTapButton), for: .touchUpInside)
            pageView.addSubview(button)

        }
    }
    
    @objc func didTapButton(_ button: UIButton) {
        
    }

}
EN

回答 1

Stack Overflow用户

发布于 2020-08-28 21:44:44

“其视图不在窗口层次结构中”您没有将创建的视图添加到主视图尝试使用此视图将子视图添加到主视图

代码语言:javascript
复制
self.view.addSubview(holderView)

另外,别忘了像这样添加holder视图的框架

代码语言:javascript
复制
UIView(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width, height: UIScreen.main.bounds.height))
    view.translatesAutoresizingMaskIntoConstraints = true

在视图中加载了

代码语言:javascript
复制
   override func viewDidLoad() {
    super.viewDidLoad()
    view.backgroundColor = UIColor.white
    self.view.addSubview(holderView)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63634860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档