0

我正在使用情节提要,我想在我的应用程序中添加一个弹出窗口。

我的弹出窗口将包含一个滑块(我需要获取他的值),并取消选项(弹出窗口顶部的“x”)。

最好的方法是什么?

  • 视图控制器?
  • xib 文件?
  • 看法?

提前致谢!

4

2 回答 2

0

我认为最好在代码中创建一个弹出窗口、按钮和滑块。比你有更多的控制权。在同一代码中访问滑块和关闭弹出框更容易。

当从您想要弹出窗口的位置按下按钮时,将此代码放入 IBAction 函数中:

//Create a popovercontroller
UIPopovercontroller *popOverController;

//Create an instance of the class you working in, your viewcontroller
YourViewController *popOverContent = [[YourViewController alloc] init];

//Create the popover view, you can change the size of it
UIView *popOverView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
UISLider *slider = [[UISlider alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];
UIButton *close = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, 50, 20)]

//Add slider & button to view
[popOverView addSubview:slider];
[popOverView addSubview:button];

//Add view to viewcontroller
[popOverContent addSubview:popOverView];

//Alloc & init the popovercontroller
popOverController = [[UIPopoverController alloc] initWithContentViewController:popOverContent];

//Set content size of popover
popOverController.popoverContentSize = CGSizeMake(200, 200);

//present popup from a button or frame
[popOverController presentPopoverFromRect:self.yourButton.frame inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

比为关闭按钮创建一个 IBAction 并使用这行代码来关闭弹出框:

[popOverController dismissPopoverAnimated:YES];

您可以在此处找到有关 popOverControllers 的更多信息

于 2013-05-02T11:56:22.603 回答
0

根据您想要对弹出窗口执行的操作以及您希望如何呈现它,您可以选择:

  1. 如果您想在其中显示一个弹出窗口,modal style并且从该弹出窗口中显示其他视图控制器,则来自情节提要的 ViewController。
  2. 自定义 UIView 的 Xib 文件,如果您使用弹出窗口显示一些信息并在之后获取用户输入,您将关闭弹出窗口并且弹出窗口将在多个地方使用(不同的视图控制器)
  3. 在一个故事板视图控制器中自定义 UIView,如果您想显示一些信息并获取用户输入并且弹出窗口将仅在一个地方使用(一个 ViewController)
于 2013-05-02T09:00:26.130 回答