Ios 如何将UIImagePickerController插入UITabbarController中
我有一个基于Ios 如何将UIImagePickerController插入UITabbarController中,ios,uitabbarcontroller,uiimagepickercontroller,Ios,Uitabbarcontroller,Uiimagepickercontroller,我有一个基于UITabBarController的应用程序。它有3个标签。在第一个选项卡中(应用程序启动时的默认设置),UIImagePickerController将显示以选择相册。但问题是:TabBar将被UIImagePickerController覆盖。如何在UITabBarController中插入UIImagePickerController?非常感谢你的帮助。这是我的密码: //第一个选项卡的viewController.m - (void)loadView { sel
UITabBarController
的应用程序。它有3个标签。在第一个选项卡中(应用程序启动时的默认设置),UIImagePickerController
将显示以选择相册。但问题是:TabBar
将被UIImagePickerController
覆盖。如何在UITabBarController
中插入UIImagePickerController
?非常感谢你的帮助。这是我的密码:
//第一个选项卡的viewController.m
- (void)loadView
{
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
[self presentModalViewController:imagePicker animated:NO];
[imagePicker release];
}
重试后,我修改了一些代码,如下所示,选项卡栏可以显示,但无法单击。怎么办
- (void)loadView
{
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:imagePicker animated:NO];
CGRect rect = CGRectMake(imagePicker.view.frame.origin.x,
imagePicker.view.frame.origin.y,
imagePicker.view.frame.size.width,
imagePicker.view.frame.size.height-self.tabBarController.tabBar.frame.size.height);
imagePicker.view.frame = rect;
[imagePicker.view addSubview:self.tabBarController.tabBar];
[imagePicker release];
}
与其将其显示为模态视图控制器,不如将其视图添加到当前视图控制器:
- (void)loadView {
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
[self.view addSubview:imagePicker.view];
[imagePicker release];
}
如果需要,不要忘记对框架进行调整。不要将其显示为模态视图控制器,只需将其视图添加到当前视图控制器中即可:
- (void)loadView {
self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init];
imagePicker.delegate = self;
[self.view addSubview:imagePicker.view];
[imagePicker release];
}
如果需要,不要忘记对框架进行调整。谢谢。但是它会显示一个完全白色的屏幕,没有蓝条。您为选择器定义了帧和源类型吗?我添加了sourceType=UIImagePickerControllerSourceTypePhotoLibrary和CGRect-rect=CGRectMake(0,032300);imagePicker.view.frame=rect;在添加子视图之前。但是什么也没有发生。您是否检查了是否正在调用
loadView
?可能在那里放一个NSLog
语句。是的,调用了loadView。如果标记行:[self.view addSubview:imagePicker.view],将显示imagePicker控制器,但会覆盖选项卡栏。谢谢。但是它会显示一个完全白色的屏幕,没有蓝条。您为选择器定义了帧和源类型吗?我添加了sourceType=UIImagePickerControllerSourceTypePhotoLibrary和CGRect-rect=CGRectMake(0,032300);imagePicker.view.frame=rect;在添加子视图之前。但是什么也没有发生。您是否检查了是否正在调用loadView
?可能在那里放一个NSLog
语句。是的,调用了loadView。如果标记行:[self.view addSubview:imagePicker.view],将显示ImagePickerController,但会覆盖选项卡栏。