message
属性占据整个屏幕。该应用程序允许拍照。拍照后img
变为nil
并将图像添加到UIImageView。
然后更改message
的帧大小并将UIImageView添加到viewcontroller。
UIImageView可以像我预期的那样成功添加。但message
的框架尺寸并未发生变化。
如果我没有添加此UIImageView,那么,我可以更改message
的帧大小。
如何解决此问题?
我确实尝试将此代码放在viewWillAppear
和viewDidAppear
中,但代码仍无效。
感谢。
@IBOutlet weak var message: UITextView!
var img: UIImage? {
didSet {
if img != nil {
let imageview = UIImageView(image: img)
let height = UIScreen.main.bounds.height * 0.4
let y = UIScreen.main.bounds.height - height
imageview.frame = CGRect(x: 0, y: y, width: UIScreen.main.bounds.width, height: height)
message.frame = CGRect(x: message.frame.origin.x, y: message.frame.origin.y, width: message.frame.width, height: message.frame.height - height)
self.view.addSubview(imageview)
}
}
}
答案 0 :(得分:0)
如果你使用autolayout而不是你应该从你的消息textview的高度限制出口,你应该减少它的高度不变,而不是重置它的框架,因为框架不会影响你什么时候设置约束!如果尚未设置高度约束,则取出文本视图底部约束的出口,并使用高度大小而不是零来更改常量!您可以从约束拖放到您的班级以获取其出口!