Премахване на фона на 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];

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

Как мога да успея да го премахна!? Някаква помощ!?

РЕДАКТИРАНЕ 1 Това е новият изход въведете описание на изображението тук


person Elias Rahme    schedule 28.04.2015    source източник
comment
Мисля, че това, което търсите, е маскиране на изображения: stackoverflow.com/questions /23488734/ios-sdk-image-masking   -  person Zhang    schedule 28.04.2015
comment
Мисля, че проблемът е, че самото изображение има сив фон. ще трябва да го премахнете с програма за редактиране на изображения, преди да го импортирате в xcode като .png с алфа канал. можете да ми изпратите това изображение, ако желаете и аз ще го редактирам вместо вас!   -  person André Slotta    schedule 28.04.2015
comment
@Zhang Опитах се да го следвам, но имам нужда от повече подробности, за първи път използвам това заобиколно решение... можете ли да помогнете?   -  person Elias Rahme    schedule 28.04.2015
comment
@AndreSlotta благодаря ти много! но съм сигурен, че няма сив фон, експортирах го от illustrator като 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