В App я подклассы UINavigationBar и как мой TitleView я устанавливаю (в View Controller) пользовательские UIViewЗакругленный нижний край UIView
[self.playButton setBackgroundColor:[UIColor yellowColor]];
[self.navigationItem setTitleView:self.playButton];
Нижний край этой точки зрения (playButton) должен быть изогнут. Не только углы, личинка все нижний edge.To достижение этого эффекта я использую этот код:
CAShapeLayer *maskLayer = [CAShapeLayer layer];
UIBezierPath *path = [[UIBezierPath alloc] init];
[path addCurveToPoint:CGPointMake(self.playButton.frame.size.width, self.playButton.frame.size.height) controlPoint1:CGPointMake(0, self.playButton.frame.size.height) controlPoint2:CGPointMake(self.playButton.frame.size.width, 60)];
maskLayer.path = path.CGPath;
self.playButton.layer.mask = maskLayer;
Но после этого код моего UIView (playButton) исчез! Является ли это подходящим способом применения изогнутого нижнего края UIView?
Он должен выглядеть следующим образом: http://i.imgur.com/51UIQsE.png
может быть, это то, что вы пытаетесь достичь. http://stackoverflow.com/questions/2264083/rounded-uiview-using-calayers-only-some-corners-how – m4n1c
Они говорят о закруглении углов, я хочу округлить/искривить весь нижний край. – lvp
Я думаю, что одна из возможных причин заключается в том, что вы забываете использовать метод movetopoint, который должен идеально существовать, если функции, которые вы используете, имеют указанные конечные точки. В методе addCurveToPoint вам нужно указать конечные точки с контрольными точками. – m4n1c