我有如下故事板。
在这里,我提供英语或阿拉伯语选项。
当我在 4s 屏幕(iOS 7)上运行时,它如下所示。
当我点击英语时,我看到了滚动视图。
在 Appdelegate.m 中,我有
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
if (IS_DEVICE_RUNNING_IOS_7_AND_ABOVE()) {
NSLog(@"This is iOS 7 iphone...");
[[UIApplication sharedApplication] setStatusBarStyle: UIStatusBarStyleLightContent];
NSLog(@"self.window.frame.size.width==%f", self.window.frame.size.width);
NSLog(@"self.window.frame.size.height==%f", self.window.frame.size.height);
background = [[UIWindow alloc] initWithFrame: CGRectMake(0, 0, self.window.frame.size.width, 20)];
background.backgroundColor = [UIColor whiteColor];
[background setHidden:NO];
self.window.clipsToBounds = YES;
self.window.frame = CGRectMake(0,20,self.window.frame.size.width,self.window.frame.size.height-20);
NSLog(@"self.window.frame.size.height==%f", self.window.frame.size.height);
self.window.bounds = CGRectMake(0, 0, self.window.frame.size.width, self.window.frame.size.height);
}
return YES;
}
这一切都很顺利
现在让我在 iOS 6、iPhone 4s 上运行它。
呸呸呸!!!所有的东西都向下移动。
下面是我看到的(它丑陋,不是吗?)
(此图像是经过编辑的图像,因为我使用的 iPhone 是我的朋友 iPhone,我不想访问他的照片 :D :P (iPhone 中的顶部状态栏是黑色的))。
为什么会发生这种情况?
注意:自动布局已打开,我希望它处于活动状态,因此我不能使用delta 部分
问题不在于 UIPickerView。问题是 UIView 被向下移动并且有空白。如果我点击英文,我会在正确的位置看到 UIPickerView。唯一的问题是观点正在发生变化。
示例项目位于Dropbox
回答
我通过在黄色图像中添加约束来解决它