Iphone popover内选择器视图中的问题
我在Ipad中制作应用程序,我在Xib中使用了一个pickerviewController,当用户点击特定按钮时,我会显示它,现在我正在尝试将picker视图放在popover中 这就是我如何尝试达到这个目的Iphone popover内选择器视图中的问题,iphone,ios,ipad,uipickerview,uipopovercontroller,Iphone,Ios,Ipad,Uipickerview,Uipopovercontroller,我在Ipad中制作应用程序,我在Xib中使用了一个pickerviewController,当用户点击特定按钮时,我会显示它,现在我正在尝试将picker视图放在popover中 这就是我如何尝试达到这个目的 pickerView.hidden=FALSE; i have created outlet of picker and i unhide it here UIViewController* popoverContent = [[UIViewController alloc]
pickerView.hidden=FALSE;
i have created outlet of picker and i unhide it here
UIViewController* popoverContent = [[UIViewController alloc] init];
UIView* popoverView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 344)];
popoverView.backgroundColor = [UIColor whiteColor];
[popoverView addSubview:pickerView];
popoverContent.view = popoverView;
popoverContent.contentSizeForViewInPopover = CGSizeMake(320, 244);
//create a popover controller
UIPopoverController *popoverController = [[UIPopoverController alloc] initWithContentViewController:popoverContent];
CGRect popoverRect;
popoverRect.origin.x =323;
popoverRect.origin.y = 713;
popoverRect.size.height = 215;
popoverRect.size.width = 70;
[popoverController presentPopoverFromRect:popoverRect
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionDown
animated:YES];
//release the popover content
[popoverView release];
[popoverContent release];
现在的问题是,我的弹出窗口正在显示,但它完全是黑色的。我正在努力解决这个问题。请告诉我我做错了什么,或者更正代码。谢谢您的帮助。由于框架尚未正确设置,您的选取器视图似乎隐藏在弹出窗口的某个位置。因此,尝试将选择器视图的框架设置为等于弹出框的边界作为起点:
pickerView.frame = popoverView.bounds;
但是,在将选择器视图添加为弹出视图中的子视图之前,需要从superview中正确删除选择器视图
现在,默认情况下,Xcode将IBOutlet生成为弱属性,这将导致在从superview中删除选择器视图时取消分配它。因此,首先需要将选择器视图声明为强属性
之后,可以将其从当前superview中删除:
[pickerView removeFromSuperview];
您应该保留对弹出视图控制器的引用,例如声明它是一个属性,并调用DismissPopoOveranimated以正确地关闭弹出视图。尝试将选择器视图的帧设置为等于弹出边界。您还应该从以前的superview中删除pickerview。我知道如何将pickerview设置为与popover相同的视图,但如何从superview中删除它。您可以演示一些我也不知道如何设置大小的内容吗:(请尝试
[pickerview removeFromSuperview];
并且您需要将pickerView设置为strong属性,以便从superview中删除后不会释放它。请尝试使用pickerView.frame=popoverView.bounds;
设置框架。