2015-06-19 67 views
-1

我想知道是否有任何可能的方式通过我可以动态更改UIButton的位置,具体取决于手机的屏幕大小(4s,5系列和6)动态更改按钮的x和y

在此先感谢。

+0

使用Autolayout和尺寸等级来改变位置 – suthar

+0

是的,你也可以使用AutoLayout来设置每个设备尺寸的按钮,否则你可以通过setFrame设置按钮框架和它的位置。 –

回答

0

有多种方式来解决这个问题:

1)随着AutoLayout您可以指定哪些描述意见如何相互关联的规则。这将使应用程序能够智能地适应任何屏幕尺寸,如果精心实施的话。

2)您可以在运行时检查设备版本并以编程方式适当地布置您的视图。

1是首选的解决方案,并且是iOS上的最佳实践。

+0

那么,我所说的按钮是以编程方式添加的,由于我是新来的自动Layouts,我不知道如何以编程方式执行它。你能帮我一下吗? – sam24

+1

在这种情况下,您需要以编程方式添加自动布局规则。为了帮助你,我需要看到你的观点,因为它是目前的布局和你想要的样子的描述。在附注中,我建议你“接受”人们给你的问题的答案。如果你从不花时间接受人们给出的答案,那么人们不太可能想要帮助你。 – Woodstock

0

就像建议的伍德斯托克你可以使用Autolayout。但是,如果您熟悉它并且具有简单的用例,则可以使用[UIScreen mainScreen] bounds].size.height属性来获取屏幕高度,并使用if/switch将其与不同设备的大小进行比较,然后分别在每个设备中调用以下内容的案件相应调整其立场。

[button setCenter:<CGPoint calculated goes here>]; 

对于Autolayout方法,您可以结帐this answer

+0

不应该建议使用此方法。 AutoLayout是现在iOS的很多功能所必需的。与iOS9甚至更多。 – Fogmeister