Отображать UIViewController как всплывающее окно - PullRequest
0 голосов
/ 23 июня 2011

Я хочу отобразить UIViewController в виде небольшого всплывающего окна над другим UIViewController.UIViewController должен отображаться модально, но не занимать весь экран.Он должен отображаться в нижней трети экрана ...

Может кто-нибудь указать мне на учебник или дать несколько советов, чтобы начать с этого?

Я гуглил более часа, но не смог найти ничего, что мне поможет: (

Спасибо за помощь, Стефан

Ответы [ 2 ]

2 голосов
/ 01 сентября 2011

Только что обнаружил, что этот вопрос до сих пор остается без ответа ... У вас есть несколько вариантов для достижения этой цели на iPhone: в зависимости от ситуации, я думаю, я бы просто пошел с загрузкой подкласса UIViewController из NIB, который вы настроилипоказать размер экрана со свойством backgroundColor, установленным в [UIColor clearColor].Добавьте любые подпредставления, которые вы хотите отобразить в виде всплывающих окон, к этому виду в нужной позиции (например, в нижней трети экрана).Затем вы можете представить контроллер представления модально с помощью UIModalTransitionStyleCrossDissolve, чтобы добавить его и даже использовать фоновое представление для перехвата сенсорных событий, чтобы отклонить модальное представление.Другой возможностью было бы просто добавить представление контроллера представления popover как подпредставление к представлению контроллера основного представления.Вы можете использовать методы класса анимации UIView для анимации перехода.

1 голос
/ 23 июня 2011

это может помочь.Вы должны объявить popOverController в заголовке и сделать его свойством, а также синтезировать его.

if([self.popOverController isPopoverVisible])
{

    [self.popOverController dismissPopoverAnimated:YES];
    return;
}

UINavigationController *favNav = [[UINavigationController alloc]
                                  initWithRootViewController:favoritesView];

//favoritesView is an outlet to the VC Favorites
//make a nav controller with the root view an outlet to the view you want to present.


self.popOverController = [[[UIPopoverController alloc] 
                           initWithContentViewController:favNav] autorelease];

    [popOverController presentPopoverFromBarButtonItem:revealFavorites permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES]; //revealFavorites is the button i press to show the favorites popover
favoritesView.view.frame = CGRectMake(10, 10, 310, 320); //set the frame




if (![self.popOverController isPopoverVisible]) {
    [favNav release];

}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...