2

我想UIPopover在 iPad 上创建一个UIDatePicker里面,点击UITextField.

我使用下面的代码来执行此操作,但我不知道tempButton.frame代表什么或是什么tempButton

是否可以使用故事板做同样的事情?提前致谢。

UIViewController* popoverContent = [[UIViewController alloc] init]; //ViewController

UIView *popoverView = [[UIView alloc] init];   //view
popoverView.backgroundColor = [UIColor blackColor];

UIDatePicker *datePicker=[[UIDatePicker alloc]init];//Date picker
datePicker.frame=CGRectMake(0,44,320, 216);
datePicker.datePickerMode = UIDatePickerModeDateAndTime;
[datePicker setMinuteInterval:5];
[datePicker setTag:10];
[datePicker addTarget:self action:@selector(Result) forControlEvents:UIControlEventValueChanged];
[popoverView addSubview:datePicker];

popoverContent.view = popoverView;
popoverController = [[UIPopoverController alloc] initWithContentViewController:popoverContent];
popoverController.delegate=self;
[popoverContent release];

[popoverController setPopoverContentSize:CGSizeMake(320, 264) animated:NO];
[popoverController presentPopoverFromRect:tempButton.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];//tempButton.frame where you need you can put that frame
4

1 回答 1

1

至于按钮本身,您可以使用UITextField的rightView属性。

并且也可以为 datepicker 视图使用故事板。

1) 将 ViewController 拖到情节提要。

2)在身份检查器中将其类设置为您的自定义类。

3) 在 Identity Inspector 中为“StoryBoard ID”设置一个值。

4) 使用您的 datePicker 设置视图。

5) #import "PopoverContentViewController.h" 到您呈现的 ViewController。

当你展示你的弹出框时:

PopoverContentViewController *popoverContent = [self.storyboard instantiateViewControllerWithIdentifier:@"myStoryboardID"];
popoverController = [[UIPopoverController alloc] initWithContentViewController:popoverContent];
popoverController.delegate=self;
[popoverController setPopoverContentSize:CGSizeMake(320, 264) animated:NO];
[popoverController presentPopoverFromRect:myTextField.myRightView.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];

您可能需要设置一个委托,以便UIDatePicker可以与演示者进行通信ViewController

于 2013-01-07T13:19:24.330 回答