1

で作成しUISegementControlていUIPopoverControllerます。どうすればUIImagePicker同じものを追加できますかUIPopoverController

segmentController *segmentCtrl = [[segmentController alloc] init];
UINavigationController *navCtrl = [[UINavigationController alloc] initWithRootViewController:segmentCtrl];

UIImagePickerController *imgPicker = [[UIImagePickerController alloc] init];
[imgPicker setDelegate:self];

UIPopoverController *popOver = [[UIPopoverController alloc] initWithContentViewController:navCtrl];
[popOver setPopoverContentSize:CGSizeMake(300, 500) animated:YES];
popOver.delegate = self;
self.popoverImageViewController = popOver;
[self.popoverImageViewController presentPopoverFromBarButtonItem:button permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

上記のコードではUISegementControl、UIPopoverController に a を作成しています。しかし、その UIPopover に UIImagePicker も追加する必要があります...

私が間違いを犯した場合。私を修正してください。

4

1 に答える 1

0

このようなことをしてみてください。

imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.delegate = self;
imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

UIViewController *containerController = [[UIViewController alloc] init];
containerController.contentSizeForViewInPopover = CGSizeMake(768, 1000);

NSArray *itemArray = [NSArray arrayWithObjects: @"One", @"Two", @"Three", nil];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:itemArray];

[containerController.view addSubview:imagePickerController.view];
[containerController.view addSubview:segmentedControl];

popoverController = [[UIPopoverController alloc] initWithContentViewController:containerController];

[popoverController presentPopoverFromRect:selectedRect inView:self.view permittedArrowDirections:4 animated:YES];

//add ur segment control on top it would take 44 px then adjust the imagePicker frame accordingly.

CGRect tFrame = containerController.view.frame;
tFrame.origin.x -= 44;
tFrame.size.height -=44;
[imagePickerController.view setFrame:containerController.view.frame];
于 2013-09-19T04:24:35.210 に答える