Я пытаюсь добавить круглый угол в UISearchBar в верхнем левом и верхнем правом углах.Почему маска не работает на UISearchBar
Однако, я обнаружил, что слой маски не работает на UISearchBar, независимо от того, как я его установил.
Вот мой код
// UIView* bar = [searchBar_.subviews objectAtIndex:0]; // try to add mask to background view but also failed
UIView* bar = searchBar_;
CGRect toolbarBounds = bar.bounds;
CAShapeLayer *maskLayer = [CAShapeLayer layer];
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect: toolbarBounds
byRoundingCorners:UIRectCornerTopLeft
cornerRadii:CGSizeMake(5.0f, 5.0f)];
[maskLayer setPath:[path CGPath]];
[maskLayer setFillColor:[[UIColor greenColor] CGColor]];
bar.layer.masksToBounds = YES;
bar.layer.mask = maskLayer;
Я также попробовал «клип подвидов», но он не работает.
Затем я попробую что-то еще, я просто скрыл фоновый вид (subview 0). Для удивления это все еще видно.
Есть ли какая-либо магия в UISearchBar? Маска работает на UIToolbar.
Вы пробовали 'view.layer.cornerRadius'? –