2015-06-22 161 views
0

我正在开发一个应用程序在iOS.I已使用自动布局,约束来构建用户界面。但我仍然非常困惑它。我无法创建准确的用户界面使用autolaout &大小classes.Please对不起,如果我我问的是非常基本的问题,因为我对iOS很新鲜。如何动态更改iOS中视图的高度和宽度?

这里我创建了一个登录屏幕。其中我有一个容器在middile中,其中包含一些文字提交&顶部的图像是一种应用程序标志,在容器下面有两个按钮。我有三个问题。

  1. 容器未对齐properly.It尺寸不断增大容器&文本字段之间&保证金increasing.So UI看起来bad.I想增加宽度&高度相等的比重,因此,它不看坏。

2.标识的大小应该按照等比例增加,高度为&宽度。

3.底部按钮高度固定,高度按比例增加。

截图 screenshot

+1

最关键的事情是有一个清晰的布局的关系最小尺寸的限制需求。这是确定约束条件的最佳方式。你想要的布局有些模糊。从你说的话来看,最简单的选择就是使用约束条件,这些约束条件允许需要增长的项目具有灵活性。例如对于图像,您可以将其横向居中,将其宽度设置为<=(最大大小),将其纵横比设置为1:1,将顶部设置为> =(最小边距),并且其前导> =(最小余量)。这将允许图像放大到最大值,但不会打破任何边距。使用精确的约束将事情联系在一起。 –

+0

@RoryMcKinnel非常感谢。我对这些东西非常清新,所以你可以给我一些完整的教程,我可以找到解决方案。 – Techiee

+0

从Apple文档开始,以便了解它是如何工作的:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/Introduction/Introduction.html。然后,我会跳入并用你的应用程序作为你的教程。 –

回答

0

你好,如果你想保持你需要的纵横比限制为这样的工作比例:

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