2

Простите, если это очевидный вопрос, я относительно новый.Округление углов UIModalPresentationFormSheet

У меня есть мнение модального, который я создал с помощью пользовательского размера и закругленных углов:

- (void)viewWillLayoutSubviews{ 

    [super viewWillLayoutSubviews]; 
    self.view.superview.bounds = CGRectMake(0, 0, 600, 450); 
    self.view.layer.cornerRadius = 60.0; 
} 

Однако я считаю, что когда я округлить вид углов, я получаю это сероватый цвета появляется на краях него (как будто что-то другое за ним): (см. рисунок).

enter image description here

Как я удалить эти сероватые края так показывает фоновое содержание как нормально? Я пробовал добавить

self.view.layer.masksToBounds = YES; 

однако это все равно дает тот же эффект, что и выше.

Спасибо,

ответ

14
- (void)viewWillLayoutSubviews 
{ 
    [super viewWillLayoutSubviews]; 
    self.view.superview.bounds = CGRectMake(0, 0, 600, 450); 
    self.view.superview.layer.cornerRadius = 60.0; 
    self.view.superview.layer.masksToBounds = YES; 
} 

Я думаю, вы должны установить радиус угла супервизора.

+0

Для iOS8 попробуйте: self.view.layer. –

+0

Это сделало это для меня. Trick устанавливает этот материал в "viewWillLayoutSubviews" – cgossain

1

использовать как этот

- (void)viewWillLayoutSubviews 
{ 

    [super viewWillLayoutSubviews]; 
    self.view.superview.bounds = CGRectMake(0, 0, 600, 450); 
    self.view.layer.cornerRadius = 60.0; 
    self.view.layer.masksToBounds = YES; //add this line 

} 


+0

Привет, К сожалению, это не появляется на работе и тот же результат показан выше. – Ryan

1

Используйте это, он удалит тень

self.view.layer.masksToBounds = YES; 
+0

Привет, К сожалению, это не работает, и тот же результат показан выше. – Ryan

+0

Я, я тоже ответил то же самое время, когда Шан ответил, несколько секунд разные. Я не заметил его – chandru

+0

Я нашел ответ в любом случае, спасибо за вашу помощь :) – Ryan

1

Оказывается, вам нужно обойти супервизор и замаскировать супервизор;

[self.view superview].layer.cornerRadius = 30.0f; 
[self.view superview].layer.masksToBounds = YES; 

Так что в конце концов его выглядело так :)

- (void)viewWillLayoutSubviews{ 
    //setup custom size modal view 
    [super viewWillLayoutSubviews]; 
    self.view.superview.bounds = CGRectMake(0, 0, 600, 450); 
    [self.view superview].layer.cornerRadius = 30.0f; 
    [self.view superview].layer.masksToBounds = YES; 
} 

Спасибо за вашу помощь Shan

Смежные вопросы