【发布时间】:2018-05-06 20:04:30
【问题描述】:
我试图在 iPad 上的弹出框中显示选择器视图,但弹出框为空
case timezoneSetting: {
UIViewController *pickerViewController = (setting.type == timeSetting) ?
[[[TimePickerViewController alloc] initWithSetting:setting] autorelease] :
[[[TimeZonePickerViewController alloc] initWithSetting:setting] autorelease];
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
CGRect frame = [self.tableView rectForRowAtIndexPath:indexPath];
CGRect cellRect = CGRectMake(frame.origin.x, frame.origin.y - tableView.contentOffset.y, frame.size.width, frame.size.height);
[pickerPopover setContentViewController:[[[UINavigationController alloc] initWithRootViewController:pickerViewController] autorelease]];
[pickerPopover presentPopoverFromRect:cellRect inView:self.view permittedArrowDirections:(UIPopoverArrowDirectionRight | UIPopoverArrowDirectionUp) animated:YES];
}
else {
[self.navigationController pushViewController:pickerViewController animated:YES];
}
break;
}
【问题讨论】:
-
请添加您如何创建的代码并将
UIPickerView添加到您的弹出视图 -
也许这就是我所缺少的,这是遗留代码,我认为 initwithRootViewController: pickerViewController 应该处理它?所以我猜不是?
-
它可能是。您需要检查
TimePickerViewController的实现,并确保添加了实际的pickerView -
有,当它只是推动视图控制器时它在 iphone 上运行良好,但在 iPad 上它在弹出窗口中为空
-
您需要验证框架设置是否正确。像pickerView.frame = self.view.bounds