Tag: 自动布局

使用iOS7的代码在iOS7上运行良好的自动解决问题

我正在为iPhone和iPad开发一个应用程序。 它支持iOS6和iOS7,它只使用自动布局。 上个星期,当苹果公司宣布iOS8准备好黄金时,我升级了一台iPhone和一台iPad到iOS8。 我也碰到了我的XCODE版本6.我有第二个iPhone,我留在iOS7。 我使用Xcode 6生成了新的可执行文件,当我在运行iOS8的设备上执行它们时,看到它们的屏幕布局混乱,但在iOS7上仍然很好,我感到非常痛心。 在我的物理设备和Xcode的仿真器上都是如此。 我花了很多时间挖掘,但是我现在很清楚发生了什么,尽pipe我不知道为什么。 具体来说,某些自动布局操作在iOS8上失败了,但在iOS7上却没有问题。 一些涉及一个button的例子,我把它放在一个底层视图的大小等于屏幕的大小: (1)如果我要求自动布局将button的水平中心(CX)定位为等于底层视图的水平中心,则结果是button的水平中心位于底层视图的左边缘。 (2)如果我要求自动布局来使button的宽度等于底层视图的宽度的50%,那么它根本没有宽度。 我能够解决这些问题如下: (1)我要求自动布局将button的中心定位为等于底层视图的左边缘加上屏幕宽度的50%。 (2)我要求自动布局使button的宽度等于屏幕宽度的50%。 我慢慢地用自己的方式来解决这些问题,回到适用于iOS7和iOS8的自动布局代码。 但是我真的很想知道这里发生了什么事情。 它看起来像自动布局不能确定基础视图的大小,所以自动布局计算,要求信息失败。 但它确实知道视图的顶部和左边的位置,以便这些数据的计算成功。 这是一个大型的应用程序,我已经写了数百行iOS6和iOS7的自动布局代码,完全适合我。 我一直在用iOS8调整和尝试三天,而且我并不比我刚开始的时候更聪明。 任何人有什么build议或想法可能是这里的问题?

使用自动布局,IB和字体大小时,表格标题视图高度错误

我正在尝试为我的uiTableView创build一个头部视图(不是部分头部,我已经有了这些头部视图)。我已经在界面构build器中设置了一个XIB。 所有的连接都连接起来,它运行得非常漂亮…除了桌子没有足够的空间! 我的问题是,表顶部重叠了表头的一点点。 我的XIB设置了所有button的自动布局,IB很高兴约束不会冲突/不明确。 该视图被设置为自由forms的大小,在我的情况下结束了320 x 471.然后在视图的约束,我为相同的视图设置一个固有的大小。 现在,这完美地与我的表。 一切看起来不错。 但是,如果我用代码手动更改标题视图中的任何字体,则布局将使视图变大,并最终到达我的表格下方。 任何想法如何让tableviewcontroller设置字体和大小后,为标题视图留出足够的空间? 我希望我能解释这一点。

iOS Autolayout:两个等宽的button,并排

我目前有与AutoLayout的困难。 我正在使用接口生成器,并试图定位两个等宽的并排button,如下图所示。 从下面的预览图像,我的titleImage已被正确约束,正确显示,但button不是。 我已经尝试了将button1与titleImage的前缘alignment,并将button2与titleImage的后缘alignment,但是此时两个button之间的宽度分布会发生偏斜,如下所示。 我的目标是了解什么约束是缺less的,应该适用于两个button,以保持相等的宽度,无论设备。 如果可能的话,我想通过接口生成器来实现这一点,而不是附加的代码。

AutoLayout + RTL + UILabel文本alignment

我终于轮到与自动布局摔跤,似乎无法弄清楚如何从右到左(RTL)的支持工作,我希望/希望的方式… 我在界面生成器中devise了如下所示的视图: 如果使用英语,结果应用程序按预期运行: 但是,当切换到RTL语言(在这种情况下,阿拉伯语),整个视图翻转(这是伟大的),但UILabel的文字仍左alignment。 我希望它是正确的alignment,以保持它对UIImageView 。 很明显,我错过了一些东西,或者这不在自动布局中。 我是否应该使用RTL语言手动设置textAlignment ?

需要帮助设置两个等宽的button,并排Autolayout

使用自动布局我试图在底部创build这样的两个button 拖动两个button后,我设置了这样的约束 在“ Back button我将“ Leading Space to Container Margin设置Leading Space to Container Margin ,将“ Bottom Space to Bottom Layout Guide 在Go To Settings button我设置Trailing Space to Container Margin和Bottom Space to Bottom Layout Guide 然后我按ctrl+Drag从Back button ctrl+Drag到Go To Settings button并设置Equal Widths约束,我得到这个。 然后我更新Back button宽度相同于Go To Settings button ,这是101 ,所有约束变成蓝色。 但是我希望两个button都能覆盖屏幕的一半,而不pipe屏幕大小如何,与第一个屏幕截图中显示的相同,如何实现?