簡體   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