如何更改UIView尺寸?

SKY*_*ine 59 height uiview swift xcode6

我在启动时修改UIView高度时遇到问题.

我必须UIView,我想要一个屏幕尺寸*70和另一个填补空白.

这就是我所拥有的

 @IBOutlet weak var questionFrame: UIView!
 @IBOutlet weak var answerFrame: UIView!
 let screenSize:CGRect = UIScreen.mainScreen().bounds
Run Code Online (Sandbox Code Playgroud)

 questionFrame.frame.size.height = screenSize.height * 0.70
 answerFrame.frame.size.height = screenSize.height * 0.30
Run Code Online (Sandbox Code Playgroud)

它在运行时对应用程序没有影响.我使用自动布局,但我只有边距约束...

我做错了吗?

Use*_*er4 51

干得好.这应该工作.

questionFrame.frame = CGRectMake(0 , 0, self.view.frame.width, self.view.frame.height * 0.7) 

answerFrame.frame =  CGRectMake(0 , self.view.frame.height * 0.7, self.view.frame.width, self.view.frame.height * 0.3)
Run Code Online (Sandbox Code Playgroud)


BHU*_*MAR 51

这可以通过Swift 3.0中的各种方法实现,最新版本于2019年1月

直接为视图指定高度和宽度值:

userView.frame.size.height = 0

userView.frame.size.width = 10
Run Code Online (Sandbox Code Playgroud)

为帧分配CGRect

userView.frame =  CGRect(x:0, y: 0, width:0, height:0)
Run Code Online (Sandbox Code Playgroud)

方法细节:

CGRect(x:X点,y点:Y点,宽度:视图宽度,高度:视图高度)

使用CGRECT的扩展方法

在任何swift文件中添加以下扩展代码,

extension CGRect {

    init(_ x:CGFloat, _ y:CGFloat, _ w:CGFloat, _ h:CGFloat) {

        self.init(x:x, y:y, width:w, height:h)
    }
}
Run Code Online (Sandbox Code Playgroud)

在应用程序的任何位置使用以下代码来设置大小参数

userView.frame =  CGRect(1, 1, 20, 45)
Run Code Online (Sandbox Code Playgroud)


Moh*_*our 27

Swift 3和Swift 4:

myView.frame = CGRect(x: 0, y: 0, width: 0, height: 0)
Run Code Online (Sandbox Code Playgroud)


Yan*_*eph 19

嗨创建这个扩展,如果你想.更新2015 Swift 2.0

创建文件Extends.Swift添加此代码(在您想要更改高度的位置添加导入基础)

/**
Get Set x Position

- parameter x: CGFloat
by DaRk-_-D0G
*/
var x:CGFloat {
    get {
        return self.frame.origin.x
    }
    set {
        self.frame.origin.x = newValue
    }
}
/**
Get Set y Position

- parameter y: CGFloat
by DaRk-_-D0G
*/
var y:CGFloat {
    get {
        return self.frame.origin.y
    }
    set {
        self.frame.origin.y = newValue
    }
}
/**
Get Set Height

- parameter height: CGFloat
by DaRk-_-D0G
*/
var height:CGFloat {
    get {
        return self.frame.size.height
    }
    set {
        self.frame.size.height = newValue
    }
}
/**
Get Set Width

- parameter width: CGFloat
by DaRk-_-D0G
*/
var width:CGFloat {
    get {
        return self.frame.size.width
    }
    set {
        self.frame.size.width = newValue
    }
}
Run Code Online (Sandbox Code Playgroud)

For Use(继承UIView)

inheritsOfUIView.height = 100
button.height = 100
print(view.height)
Run Code Online (Sandbox Code Playgroud)