Удалить фон UIVIew - удалить прямоугольную форму

У меня есть UIView, в котором я хочу удалить весь фон, чтобы он принял форму бумаги. Я попытался установить прозрачный фон из пользовательского интерфейса и использовать код, но всегда получаю серый полупрозрачный фон, независимо от того, что я делаю. Вот текущий вывод, который я получаю: введите здесь описание изображения

Как убрать этот серый фон? мне нужно, чтобы он отображался как целая бумага без остатка. Любая помощь? Я пробовал следующее:

//     self.view.backgroundColor = [UIColor clearColor];
//
//     [self.view setOpaque:YES];
//     
   //  self.view.backgroundColor = [UIColor clearColor];.
   //  self.view.layer.borderWidth = 0.0;
    // self.view.layer.masksToBounds = YES;
  //   self.view.backgroundColor=[[UIColor clearColor] colorWithAlphaComponent:.0];

И текущая конфигурация пользовательского интерфейса:
введите описание изображения здесь

Как я могу удалить его!? Любая помощь!?

EDIT 1 Это новый вывод введите здесь описание изображения


person Elias Rahme    schedule 28.04.2015    source источник
comment
Я думаю, что вам нужно маскировать изображение: stackoverflow.com/questions /23488734/ios-sdk-image-маскирование   -  person Zhang    schedule 28.04.2015
comment
Я думаю, проблема в том, что само изображение имеет серый фон. вам придется удалить его с помощью программы редактирования изображений, прежде чем импортировать его в xcode как .png с альфа-каналом. Вы можете отправить мне это изображение, если хотите, и я отредактирую его для вас!   -  person André Slotta    schedule 28.04.2015
comment
@ Чжан, я пытался следовать этому, но мне нужно больше деталей, я впервые использую этот обходной путь ... ты можешь помочь?   -  person Elias Rahme    schedule 28.04.2015
comment
@AndreSlotta, большое спасибо! но я уверен, что у него нет серого фона, я экспортировал его из иллюстратора в формате PNG и убедился, что там нет фона ... как вы думаете, что вызывает эту проблему?   -  person Elias Rahme    schedule 28.04.2015
comment
быстро и грязно: dropbox.com/s/eof8rc5t0vcp34d/paper.png? dl=0 - когда я помещаю это изображение в uiimageview (без каких-либо дополнительных настроек, таких как цвет фона или что-то еще), оно просто работает!   -  person André Slotta    schedule 28.04.2015
comment
@AndreSlotta, я пробовал ... тот же результат :( чего мне не хватает   -  person Elias Rahme    schedule 28.04.2015
comment
хочешь поделиться своим проектом, чтобы я мог взглянуть?   -  person André Slotta    schedule 28.04.2015
comment
я бы хотел :S это проект компании я не могу им поделиться :S:S @AndreSlotta   -  person Elias Rahme    schedule 28.04.2015
comment
Вы проверили цвет фона window?   -  person Anusha Kottiyal    schedule 28.04.2015
comment
@AnushaK, можно поконкретнее? где проверить?   -  person Elias Rahme    schedule 28.04.2015
comment
Попробуйте установить clearColor в качестве цвета фона окна в appDelegate..   -  person Anusha Kottiyal    schedule 28.04.2015
comment
Я уже пробовал @AnushaK, пока безрезультатно   -  person Elias Rahme    schedule 28.04.2015
comment
о, подождите... ваше изображение находится внутри изображения, верно? Возможно ли, что в изображении установлен цвет фона? если это так, попробуйте установить цвет фона на чистый цвет!   -  person André Slotta    schedule 28.04.2015
comment
Где вы установили это изображение? В UIView как цвет фона или у вас есть imageView?   -  person Anusha Kottiyal    schedule 28.04.2015
comment
@AnushaK я установил его в uiimageVIEW   -  person Elias Rahme    schedule 28.04.2015
comment
@AndreSlotta из пользовательского интерфейса, я установил для фона UiimageView чистый цвет и все тот же ...   -  person Elias Rahme    schedule 28.04.2015
comment
это действительно странно. возможно ли, что вы просто делитесь раскадровкой только с проблемным контроллером просмотра? ну и сам класс конечно...   -  person André Slotta    schedule 28.04.2015


Ответы (1)


Похоже, ваше изображение находится внутри модального представления. Если это так, попробуйте следующее:

Установите self.view.superview.backgroundColor на [UIColor clearColor]; внутри viewWillLayoutSubviews

Пример

- (void)viewWillLayoutSubviews
{

    [super viewWillLayoutSubviews];
     self.view.superview.layer.masksToBounds = YES;
     self.view.superview.backgroundColor = [UIColor clearColor];
}
person Manuel Escrig    schedule 28.04.2015
comment
Во-первых, да, это модальное представление, всплывающее окно, во-вторых, фон изменился впервые! все еще не желаемый результат, но я думаю, что это действительно близко !! не могли бы вы проверить редактирование 1, чтобы увидеть новый вывод !? что я могу сделать !? - person Elias Rahme; 28.04.2015
comment
Это сработало ! если только я изменю self.view.superview.layer.masksToBounds = YES; и поместите его в self.view.superview.layer.masksToBounds = NO; Это даст нужный эффект. Большое спасибо! - person Elias Rahme; 28.04.2015