繁体   English   中英

iOS-带情节提要的弹出窗口

[英]IOS- Pop-up with storyboard

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

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

最好的方法是什么?

  • ViewController?
  • Xib文件?
  • 视图?

提前致谢!

根据您要对弹出窗口执行的操作以及如何显示它,可以选择:

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

我认为最好在代码中创建一个弹出窗口,按钮和滑块。 比您拥有更多的控制权。 使用同一代码更容易访问滑块并消除弹出窗口。

当您从需要弹出框的位置按下按钮时,将此代码放入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的更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM