CAGradientLayer를 사용하여 UIButton을 사용자 정의하고 모서리를 반올림하고 레이어 주변에 테두리를 추가하여 사용자 정의 스타일 UIButton을 내 View Controller에 구현했습니다. iPhone iOS 맞춤 UIButton (CAGradientLayer 포함), 터치하는 방법을 알려주세요.
나는이 버튼의 모양과 느낌이 마음에 들며 미리 렌더링 된 이미지를 사용하지 않고도 매우 쉽게 달성 할 수 있습니다. 하지만 한 가지 문제가 있습니다. UIButton이 터치하는 방식에 응답하지 않는 버튼이입니다. 예를 들어, 일반적인 둥근 사각형 단추는 도청 될 때 파란색으로 강조 표시되지만 내 단추는 강조 표시하지 않습니다.
아래 코드에 따라 UButton에서 CAGradientLayer
사용자 정의 배경을 사용하는 경우 어떻게 "터치 하이라이트 버튼"동작을 수행 할 수 있습니까?
입력 해 주셔서 감사합니다.
+(void)addLinearGradientToView:(UIView*)view TopColor:(UIColor*)topColor BottomColor:(UIColor*)bottomColor
{
for(CALayer* layer in view.layer.sublayers)
{
if ([layer isKindOfClass:[CAGradientLayer class]])
{
[layer removeFromSuperlayer];
}
}
CAGradientLayer* gradientLayer = [CAGradientLayer layer];
//top down gradient
gradientLayer.startPoint = CGPointMake(0.5, 0);
gradientLayer.endPoint = CGPointMake(0.5,1);
gradientLayer.frame = view.bounds;
gradientLayer.colors = [NSArray arrayWithObjects:(id)[topColor CGColor], (id)[bottomColor CGColor], nil];
[view.layer insertSublayer:gradientLayer atIndex:0];
}