2013-05-02 3 views
0

Я использую раскадровку, и я хочу добавить всплывающее окно в свое приложение.IOS- Всплывающее окно с раскадрой

Мое всплывающее окно будет содержать ползунок (который мне нужно получить его значение), а также отменить вариант («х» в верхней части всплывающего окна).

Каков наилучший способ сделать это?

  • ViewController?
  • Xib-файл?
  • Просмотреть?

Заранее благодарен!

ответ

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]; 

Than создать IBAction для кнопки закрытия и использовать эту строку кода, чтобы закрыть поповер:

[popOverController dismissPopoverAnimated:YES]; 

Вы можете найти более подробную информацию о popOverControllers here

0

В зависимости от того, что вы хотите сделать с вашим всплывающим окном и как вы хотите, чтобы представить его, вы можете выбрать:

  1. ViewController из раскадровки, если вы хотите представить всплывающее окно в modal style и с этого всплывающего окна вы хотите для отображения других контроллеров представлений.
  2. Xib-файл для пользовательского UIView, если вы используете всплывающее окно для отображения некоторой информации и получения ввода пользователем после этого, вы упустите всплывающее окно, и всплывающее окно будет использоваться в нескольких местах (разные контроллеры представлений).
  3. Пользовательский UIView в одном раскадровки вид контроллера, если вы хотите отобразить информацию и получить пользовательский ввод и всплывающее окно будет использовать только на одном месте (один ViewController)
Смежные вопросы