如何动态更改iOS中视图的高度和宽度?
问题描述:
我正在开发一个应用程序在iOS.I已使用自动布局,约束来构建用户界面。但我仍然非常困惑它。我无法创建准确的用户界面使用autolaout &大小classes.Please对不起,如果我我问的是非常基本的问题,因为我对iOS很新鲜。如何动态更改iOS中视图的高度和宽度?
这里我创建了一个登录屏幕。其中我有一个容器在middile中,其中包含一些文字提交&顶部的图像是一种应用程序标志,在容器下面有两个按钮。我有三个问题。
- 容器未对齐properly.It尺寸不断增大容器&文本字段之间&保证金increasing.So UI看起来bad.I想增加宽度&高度相等的比重,因此,它不看坏。
2.标识的大小应该按照等比例增加,高度为&宽度。
3.底部按钮高度固定,高度按比例增加。
截图
答
你好,如果你想保持你需要的纵横比限制为这样的工作比例:
NSLayoutConstraint *constraint =[NSLayoutConstraint
constraintWithItem:view
attribute:NSLayoutAttributeHeight
relatedBy:NSLayoutRelationEqual
toItem:childView
attribute:NSLayoutAttributeWidth
multiplier:4.0/3.0 //Aspect ratio: 4*height = 3*width
constant:0.0f];
[view addConstraint:constraint];
一个你需要知道更多的事情是不限制的观点与其他约束一起增长。
假设您希望顶级图像增长,请不要在侧面添加一些固定的前导或尾随,只需添加顶端约束并将视图居中到其超级视图。
如果要限制图像大小,因此要走出上海华界只是增加主要与gratherOrEquelTo关系尾随
希望我是清楚的约束。
//编辑
如果你想为高度或宽度一些最小尺寸只是增加高度或你想gratherOrEquelTo
最关键的事情是有一个清晰的布局的关系最小尺寸的限制需求。这是确定约束条件的最佳方式。你想要的布局有些模糊。从你说的话来看,最简单的选择就是使用约束条件,这些约束条件允许需要增长的项目具有灵活性。例如对于图像,您可以将其横向居中,将其宽度设置为 =(最小边距),并且其前导> =(最小余量)。这将允许图像放大到最大值,但不会打破任何边距。使用精确的约束将事情联系在一起。 –
@RoryMcKinnel非常感谢。我对这些东西非常清新,所以你可以给我一些完整的教程,我可以找到解决方案。 – Techiee
从Apple文档开始,以便了解它是如何工作的:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/Introduction/Introduction.html。然后,我会跳入并用你的应用程序作为你的教程。 –