努力使我的应用程序在iPhone 5和较小的iPhone之前工作.很高兴要求iOS6并使用Autolayout因为它很好用.
但是,应用程序有4个按钮,可以定期交换位置,因此我为每个按钮分配一个与数组不同的位置,然后使用以下内容为动画设置动画:
[UIView animateWithDuration:0.5 animations:^{ button1.center = [[locations objectAtIndex:0] CGPointValue]; button2.center = [[locations objectAtIndex:1] CGPointValue]; button3.center = [[locations objectAtIndex:2] CGPointValue]; button4.center = [[locations objectAtIndex:3] CGPointValue]; }];
这不适用于Autolayout.没有什么变化.我得到的最好的是它会动画到一个位置,然后立即回弹.
当我删除Autolayout但是所有的按钮都在较小的iPhone上被碾碎,并且由于我使用的是iPhone 5尺寸设置的点,它们最终会降低,将底部行放在屏幕上.我原来有来自Interface Builder的不同的CGPoint数字,但它们是“错误的”,虽然我认为它们是“错误的”,因为它们是Autolayout使用的数字.数组就这样你可以看到:
buttonLocations = [NSArray arrayWithObjects: [NSValue valueWithCGPoint:CGPointMake(57,523)],[NSValue valueWithCGPoint:CGPointMake(109,[NSValue valueWithCGPoint:CGPointMake(57,471)],nil];
我该怎么做才能解决这个问题?为每个尺寸的设备设置不同的点似乎不是很有效.
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。