هل يسبب imagepicker+navigationController مشاكل في الأيفون؟
-
22-07-2019 - |
سؤال
كيف أفعل هذا.. لدي مندوب تطبيق... أضفت فيه وحدة تحكم uinavigation من خلال الكود...
هنا هو الكود الخاص بي...
- (void)applicationDidFinishLaunching:(UIApplication *)application {
HomeScreenController *homeScreenobj=[[HomeScreenController alloc] initWithNibName:@"HomeScreen" bundle:[NSBundle mainBundle]];
navController = [[UINavigationController alloc] initWithRootViewController:homeScreenobj];
[homeScreenobj release];
[window addSubview:navController.view];
// Override point for customization after app launch
[window makeKeyAndVisible];
}
على الشاشة الرئيسية لدي شريط تبويب به ثلاثة أزرار، وهذه صورة
أريد التقاط صورة من المكتبة من imagepickerController...ولكنني أواجه مشكلات غريبة
تمت إضافته إلى النافذة الرئيسية ولا أعرف السبب
هنا صورة لهذا
لماذا لا يظهر هذا في كامل الشاشة....وأيضا إذا وضعت هذا الخط
imagePickerController.allowsImageEditing = YES;
إنه معلق ولا أعرف السبب..إليك الكود الخاص بي لالتقاط الصورة....
-(IBAction)TakePhotoClicked
{
imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.allowsImageEditing = YES;
imagePickerController.delegate = self;
imagePickerController.sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;
//self.navigationController.navigationBar.hidden=YES;
[self.navigationController pushViewController:imagePickerController animated:NO];
//[imagePickerController release];
}
إذا لم أضع هذا السطر على //self.navigationController.NavigationBar.hidden=yes ؛
يظهر مثل هذا
حيث الضغط على زر الصفحة الرئيسية العودة إلى المنزل ...
المحلول
يجب عليك تقديم UIImagePickerController كوحدة تحكم عرض مشروط.لذا، لا تضغط على وحدة التحكم الخاصة بك، بل قم بتقديمها على أنها مشروطة:
[self.navigationController presentModalViewController:imagePickerController animated:YES];
يمكنك فتح منتقي الصور باستخدام -[UINavigationController dismissModalViewControllerAnimated:]
للعودة إلى وحدة تحكم العرض الأخيرة على المكدس.