首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >另一个内部的中心对齐UIView没有工作-程序上-

另一个内部的中心对齐UIView没有工作-程序上-
EN

Stack Overflow用户
提问于 2017-07-15 07:23:48
回答 1查看 616关注 0票数 1

编辑:添加了快照。

我有一个UIView类,如下所示。

代码语言:javascript
复制
class CreateNewUserView: UIView{

private let subVu: UIView! = UIView()

    func createNewUserVuLayout() -> UIView{
        subVu.frame.size =  CGSize(width:320, height:320)

    //  adding programmatically-created buttons, labels, textfields, etc..

        return subVu

    }

// will call the function below in a different ViewController class

func centerTheVu(superVuX:CGFloat){ 

        subVu.center.x = superVuX
    }

在另一个.swift文件中,我有以下UIViewController类。

代码语言:javascript
复制
import UIKit

class CreateNewUserVC: UIViewController{

private let instanceOfCreateNewUserView = CreateNewUserView()


    override func loadView(){

        super.loadView()

        view.addSubview(instanceOfCreateNewUserView.createNewUserVuLayout())

// Calling the function from the UIView class now. Working perfectly!
// the view is centered horizontally as expected.        

instanceOfCreateNewUserView.centerTheVu(superVuX: view.center.x)

// However, if I delete the above line, the line below does not accomplish 
// the same task when I try to do the same vertically! 

        instanceOfCreateNewUserView.center.y = view.center.y


    }


}

在第二种情况下不起作用有什么原因吗?

instanceOfCreateNewUserView.center.y = view.center.y

另外,以下内容不起作用..。

instanceOfCreateNewUserView.center.y = self.view.center.y

应用程序构建并运行,但是视图是水平对齐的,但不是垂直的。

我是个新手,想弄清楚如何以编程方式构建/对齐控制元素。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-15 08:09:20

视图层次结构如下所示:

CreateNewUserVC的观点

- subVu

CreateNewUserView根本不涉及,您从未将它添加到视图控制器的视图中。

因此,移动其框架不会改变屏幕上任何视图的布局。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45115635

复制
相关文章

相似问题

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