Как сделать вид полупрозрачной границы и показать вид ниже

Наверное, немного новичок вопрос, но …. Я пишу iPhone приложение, которое использует UITabBarController. В Interface Builder я установил панель вкладок в MainWindow.xib. У меня есть 4 вкладки, и каждый из них настроен на загрузку xib для соответствующего подкласса UIViewController. Я создал представления в xib-файлах для каждого подкласса UIViewController в Interface Builder. Все работает хорошо, потому что я могу использовать каждую вкладку, и она показывает представление для правильного UIViewController

Но я действительно хочу, чтобы для одного из подклассов UIViewController для полупрозрачной границы было около 30 пикселей на всех 4 ребрах, так что они отображали края обзора позади, вид серого. IE. первая вкладка является основным приложением и занимает весь экран (минус области состояния и панели вкладок) .Tab 2 – это сохранить, и я хочу, чтобы это выглядело как небольшое модальное окно поверх главного приложения. (Если бы я делал это как веб-приложение html, терминология и технология, которые я использовал бы, были бы наложением jQuery)

Имеет ли это смысл?

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

Любая помощь или указатели очень оценили Cheers

Натан

Ваш UIViewController не может быть прозрачным для представления ниже, потому что iphone может выгрузить вид под ним, который в настоящее время не отображается (для сохранения памяти).

Лучшее решение, которое я использовал, – это сделать снимок текущего представления, прежде чем вы нажмете новый контроллер просмотра, а затем используйте его в качестве фонового изображения (подделайте прозрачность). Вот как я это сделал:

NewViewController *newView = [[NewViewController alloc] init]; shareVC.imageBackground = [Utilities getScreenshot:self.view]; [self presentModalViewController:newView animated:YES]; [newView release]; 

то на вашем newViewController сделайте это (на viewDidLoad, viewWillAppear и т. д.):

 [imageView setImage:imageBackground]; 

и вот скриншот

 +(UIImage *)getScreenshot:(UIView *)_view { //take a screenshow of the parent view so we can add it as a background to the modal view if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)]) UIGraphicsBeginImageContextWithOptions(_view.window.bounds.size, NO, [UIScreen mainScreen].scale); else UIGraphicsBeginImageContext(_view.window.bounds.size); [_view.window.layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image; } 

Затем вам нужно настроить новое представление с помощью UIImageView в качестве фона и выбрать правильное значение Alpha для этого изображения, чтобы оно выглядело так, как будто оно прозрачно.

  • ios - как добавить динамическое представление
  • popToViewController: «NSInternalInconsistencyException», причина: «Пытался всплывать до контроллера вида, которого не существует».
  • Свитки UITableView отскакивают назад
  • Требуется руководство по шаблону макета iOS / IB / наследование
  • Получать вызовы методов делегата с нескольких контроллеров просмотра
  • UIPageViewController (ScrollStyle), не вызывающий методы dataSource
  • Настройка отображения стека контроллера на didFinishLaunching
  • Проблемы при отклонении модального UIViewController с UITableView в нем
  • self.view.subviews empty в iOS 8
  • Восстановление состояния UISplitViewController в iOS 8
  • UIViewController <UIKeyInput> показывает клавиатуру при возврате назад
  • Давайте будем гением компьютера.