如何在基础视图的中间添加自定义视图



我创建了自定义语言视图。我希望该视图显示在iPad中心的中间。这是我所拥有的

static let langView = UINib(nibName: "LanguagesListView", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as! LanguagesListView
  func languagesPopup() -> Void {
        BaseVC.langView.delegate = self
        BaseVC.langView.frame = self.view.bounds
        BaseVC.langView.center = CGPoint(x:self.view.frame.size.width  / 2, y:
                                        self.view.frame.size.height / 2);
        self.view.addSubview(BaseVC.langView)
    }

当我调用此方法时,它显示在左侧的某个位置。

您将 langView 的框架设置为等于根视图的边界,因此位置 x、位置 y、宽度和高度将与根视图相同。如果 langView 的宽度与父视图的宽度相同,则视图将始终位于左侧。尝试为您的语言视图设置不同的大小。尝试这样的事情:

   override func viewDidLoad() {
        super.viewDidLoad()
        let viewT = UIView()
        viewT.frame.size = CGSize(width: 50, height: 50)
        viewT.backgroundColor = UIColor.red
        viewT.center = self.view.center
        self.view.addSubview(viewT)
    }

最新更新