Ios 如何在swift中设置UIScrollView内的全幅图像
我需要在脚本中添加的Ios 如何在swift中设置UIScrollView内的全幅图像,ios,swift,autolayout,Ios,Swift,Autolayout,我需要在脚本中添加的UIViewController中显示大型内容,因此我添加了UIScrollView,并带有上、右、下、左约束:0(使其全屏显示) 在UIScrollView的顶部,我需要一个正方形图像,其宽度为设备屏幕大小,因此我添加了UIImageView约束条件:纵横比->1:1,顶部:0,容器中的中心对齐,高度:100。 下面是一个ui标签,我想在这里显示大文本。我使用自动布局 在故事板中有这样做的选项吗 在斯威夫特,我试着在下面 控制器文件中的已连接映像为: @IBOutlet w
UIViewController
中显示大型内容,因此我添加了UIScrollView
,并带有上、右、下、左约束:0(使其全屏显示)
在UIScrollView
的顶部,我需要一个正方形图像,其宽度为设备屏幕大小,因此我添加了UIImageView
约束条件:纵横比->1:1,顶部:0,容器中的中心对齐,高度:100。
下面是一个ui标签
,我想在这里显示大文本。我使用自动布局
@IBOutlet weak var eventThumb: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
// set image path from url ,it works
eventThumb.image = UIImage(data: NSData(contentsOfURL: NSURL(string: self.event!.image)!)!)
let screenSize: CGRect = UIScreen.mainScreen().bounds
eventThumb.frame = CGRectMake( 0, 0, screenSize.width, screenSize.width)
}
我尝试了给出的相关答案,但它们似乎对我的情况不起作用
我是swift和ios的新手,我在结构上做错了什么吗
编辑:
图像添加
只需尝试以下步骤:
- 首先,删除图片中显示的所有红线
- 现在保持这条线不变,在这里您要设置Imageview的框架
- 我已经在swift中尝试了这个解决方案,并为我工作。我希望它对你有用
- 正如您所提到的,您正在使用自动布局,因此无需禁用它。只要做一件事
- 使用以下方法设置图像视图框架的线条: -(无效)ViewDidLayoutSubView
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
// your layout code goes here, AFTER the call to super
}
您忘记在代码之前调用super。您已尝试使用以下屏幕大小制作框架
eventThumb.frame = CGRectMake( 0, 0, screenSize.width, screenSize.width)
请与我核对一下
eventThumb.frame = CGRectMake( 0, 0, screenSize.width, screenSize.height)
eventThumb.frame=CGRectMake(0,0,screenSize.width,screenSize.width)。这段代码没有使图像的全宽与屏幕大小相同,我在故事板中显示了相同大小的图像。谢谢,但我在我的应用程序中使用了自动布局。您的解决方案似乎是使用固定宽度布局。我关心的是,因为我在整个应用程序中使用了自动布局,我没有得到你建议的选项。如果我从情节提要中删除自动布局选项,将影响整个应用程序,我不想仅用于此选项。在选择自动布局选项的情况下,我仍然可以这样做吗?因为我在整个应用程序中使用自动布局,所以我没有得到您建议的选项。我在问题编辑中添加了图像。我添加了override func viewDidLayoutSubviews(){let screenSize:CGRect=UIScreen.mainScreen().bounds eventThumn.frame=CGRectMake(0,0,screenSize.height,screenSize.width)}它在屏幕加载时设置图像大小。但当我滚动页面时(在滚动视图中),它会重置为旧的SizeGraat答案!小字体:在“{”前面用“()”完成函数签名,func应该是“override”+1