IOS-弹出故事板

时间:2013-05-02 08:48:37

标签: ios storyboard uialertview

我正在使用故事板,我想在我的应用程序中添加一个弹出窗口。

我的弹出窗口将包含一个滑块(我需要获取其值),还会取消选项(弹出窗口顶部的'x')。

最好的方法是什么?

  • 的ViewController?
  • Xib文件?
  • 查看?

提前致谢!

2 个答案:

答案 0 :(得分:0)

根据您对弹出窗口的操作以及如何呈现它,您可以选择:

  1. 如果您想在modal style中显示一个弹出窗口,并且想要显示其他视图控制器的弹出窗口,请从故事板中查看ViewController。
  2. 自定义UIView的Xib文件,如果您使用弹出窗口显示某些信息并获取用户输入,那么您将关闭弹出窗口,弹出窗口将在多个地方使用(不同的视图控制器)
  3. 在一个故事板视图控制器中自定义UIView,如果要显示一些信息并获取用户输入,弹出窗口仅在一个地方使用(一个ViewController)

答案 1 :(得分:0)

我认为最好创建一个弹出窗口,按钮&代码中的滑块。比你有更多的控制权。访问滑块和放大器更容易在相同的代码中解除popover。

当您想要弹出窗口按下按钮时,将此代码放入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并使用这行代码来关闭popover:

[popOverController dismissPopoverAnimated:YES];

您可以找到有关popOverControllers here

的更多信息