Próbuję zaokrąglić dolne dwa rogi UIView, a także obramowanie warstwy jest zaokrąglone. Obecnie wykonuję:Zaokrąglić rogi UIView i zaokrąglić również granicę warstwy widoku
UIRectCorners corners = UIRectCornerBottomLeft | UIRectCornerBottomRight;
CGSize radii = CGSizeMake(kThisViewCornerRadius, kThisViewCornerRadius);
UIBezierPath *path = [UIBezierPath bezierPathWithRoundedRect:myView.bounds
byRoundingCorners:corners
cornerRadii:radii];
CAShapeLayer *maskLayer = [CAShapeLayer layer];
[maskLayer setPath:path.CGPath];
myView.layer.mask = maskLayer;
To działa dobrze dla normalnych widoków. Jednak warstwa myView
„s ma swoje borderColor
i borderWidth
zestaw, a jak widać na zrzucie ekranu, obramowanie warstwy nie jest uzyskiwanie zaokrągleniu:
Próbowałem też instacji UIView i powrocie [CAShapeLayer layer]
z +[Class layerClass]
, i ustawianie warstwy widoku jako warstwy kształtu, ale brzeg kończył się pod podglądami widoku.
Czy można zaokrąglić niektóre narożniki widoku, zaokrąglić granicę warstwy widoku i przyciąć subviews pod krawędzią warstwy?
Należy pamiętać, że jest to , a nie o tym, jak zaokrąglić niektóre rogi, a nie inne, ale raczej jak sprawić, aby kreska prawidłowo zachowywała się.
dodać warstwę kształtu, który jest głaskani w hierarchii warstw? –
Dobra sugestia, ale przetestowałem ją, a pociągnięcia za krawędzią warstwy kształtowej nadal pojawiają się za podglądami widoku. –
Właściwie twój komentarz sprawił, że myślałem na właściwym tropie, a ja go otrzymałem. Opublikuję to jako odpowiedź. Dzięki! –