当用户与UIButton交互时,是否可以"darkened"我在自定义UIButton的drawRect中绘制的内容?



我在自定义UIButtondrawRect方法中添加了一个形状,但当我点击按钮时,形状不会像UIButton的其他部分那样变暗。有可能让它这样做吗?

我不确定你是否可以直接在按钮中绘制形状,但如果你将形状添加为按钮的背景图像,它在触摸时会变暗。在下面的例子中,我在IB、中大小为80 x 40的按钮上添加了一个椭圆形

-(void)drawShapeInButton {
    UIBezierPath *oval = [UIBezierPath bezierPathWithOvalInRect:CGRectMake(0,0, 80, 40)];
    UIGraphicsBeginImageContextWithOptions(oval.bounds.size, NO, 0.0);
    [[UIColor redColor] setFill];
    [oval fill];
    UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    [self.button setBackgroundImage:img forState:UIControlStateNormal];
}

最新更新