当我以这种方式定义图像时:
var imageView : UIImageView
imageView = UIImageView(frame:CGRect(x:10, y:50, width:100, height:300))
imageView.image = UIImage(named:"Test.jpeg")
self.view.addSubview(imageView)
效果很好,图像出现在屏幕上,但为什么要定义框架?为什么我刚刚定义的中心参数图像没有出现在屏幕上? (在初始化期间,imageView知道它的高度和宽度,我只是添加中心点来查看)
答案 0 :(得分:0)
你不应该。 这是可能的选择之一。
您可以使用默认初始化初始化它:
UIImageView()
或带图片:
imageView = UIImageView(image: UIImage(named:"Test.jpeg")!)
但请注意,有很多选项可以显示图像:https://developer.apple.com/documentation/uikit/uiview/1622619-contentmode
答案 1 :(得分:0)
不,imageView没有将其作为宽度和高度的真实尺寸,你应该使用框架布局来给它大小或自动布局,除非你先用图像初始化它
答案 2 :(得分:0)
如果您使用图像初始化UIImageView
,那么您是对的,根据图像大小设置框架。但是在您的代码段中,您使用框架初始化UIImageView
并稍后设置图像,这会保留视图框架。作为替代方案,请在设置图片后调用sizeToFit
。