一直在论坛里翻找,找不到答案,所以发帖。我有几个应用程序使用带有 UIPickerView 或 UIDatePickerView 的 UIActionSheet 来提示用户输入。这些输入用于配置值。所以提示出现在 ipad 的弹出窗口之上。
这段代码在 ipad 和 iphone 5 上运行良好,iphone 4.3 也很喜欢。ipad 4.3 根本不工作。行为很奇怪。PickerView 也不会出现(只有顶部的标题,如“Hour”和“Min”)。或者它在左侧显示为一个 10 像素宽的块,而无法与之交互或使用它。
截图和代码如下。有任何想法吗?下面的代码生成第一个屏幕截图外观。第一个屏幕截图代码几乎相同,但使用 UIPickerView 这些是从模拟器中获取的,但我让用户在他们的物理设备上报告了同样的问题。
在此先感谢 - 凯文
// create enough space for the UIPicker to show up above the selection button
NSString *title = @"\n\n\n\n\n\n\n\n\n\n\n\n";
if ((UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation)) &&
(UI_USER_INTERFACE_IDIOM() != UIUserInterfaceIdiomPad)) {
title = @"\n\n\n\n\n\n\n\n\n";
}
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:title delegate:self cancelButtonTitle:nil destructiveButtonTitle:nil otherButtonTitles:NSLocalizedString(@"Choose", @"Click to finilize Value - Timer"), nil];
[actionSheet showInView:self.view];
UIDatePicker *pickerView = [[UIDatePicker alloc] init];
[pickerView setDatePickerMode: UIDatePickerModeCountDownTimer];
if (timerInterval == 0) timerInterval = 5;
[pickerView setMinuteInterval: timerInterval];
[pickerView setCountDownDuration: [timerRec.timerDuration intValue]];
[actionSheet addSubview:pickerView];