【发布时间】:2013-06-26 10:54:21
【问题描述】:
我目前正在创建一个应用程序,它在视图中包含一个pickerView 和一个tapbar。视图位于屏幕底部。点击栏始终可见。如果我点击点击栏上的按钮,视图将向上移动并显示pickerView。 我的问题是:
视图不会向下移动到 iPhone 5 屏幕的底部。我将此代码放在不同的位置:
CGSize screenSize = [[UIScreen mainScreen] bounds].size;
if (screenSize.height > 480.0f){
[UIView beginAnimations:Nil context:Nil];//tells the compiler to start a new animation
[UIView setAnimationDuration:0.6];//in seconds
self.hiddenView.frame = CGRectMake(0, 504, 320, 260);//move the picker to a specific position (504 = 568 - statusbar(20) - tapbar(44))
[UIView commitAnimations];//tells the compiler to start the animations
}
比如在:
-(void)viewDidLoad{}
-(void)viedWillAppear{}
-(void)viewDidAppear{}
我一无所知。有谁知道如何使它正确吗?
UPADTE
好的,感谢所有答案,但我的动画效果很好。我的问题是它每次都执行(使用断点检查)不会触发(视图不会向下移动)。所以我问 WHERE 我必须把我的代码放在哪里才能正常工作。如果代码正确则不会,因为它是正确的。我知道有不同的方法可以检查它是否是 iPhone 5 并对事物进行动画处理,但同样:此代码有效,而不是实际问题。我希望你现在能更好地理解我的问题。
【问题讨论】:
-
不幸的是,我没有时间编写任何示例代码,但 Apple 建议您使用 Auto-Layout / Constraints 系统,而不是硬编码特定数字(480.0f 或帧大小)还将隐含地为您的更改设置动画。当然,这仅在您面向 iOS 5+ 时才有用。
-
好的,我认为会这样做,但我不知道如何做出正确的约束。我通过界面构建器尝试了一些东西,但它让我感到困惑,然后它有所帮助。
标签: iphone ios objective-c iphone-5