当用户与 UIButton 交互时,是不是可以让我在自定义 UIButton 的 drawRect 中绘制的内容“变暗”?
Posted
技术标签:
【中文标题】当用户与 UIButton 交互时,是不是可以让我在自定义 UIButton 的 drawRect 中绘制的内容“变暗”?【英文标题】:Is it possible to have what I draw in my custom UIButton's drawRect be "darkened" when the user interacts with the UIButton?当用户与 UIButton 交互时,是否可以让我在自定义 UIButton 的 drawRect 中绘制的内容“变暗”? 【发布时间】:2014-10-27 19:04:12 【问题描述】:我在其drawRect
方法中向我的自定义UIButton
添加了一个形状,但是当我点击按钮时,该形状并没有像UIButton
的其余部分那样变暗。是否有可能做到这一点?
【问题讨论】:
【参考方案1】:我不确定您是否可以使用直接在按钮中绘制的形状来做到这一点,但是如果您将形状添加为按钮的背景图像,它会在触摸时变暗。在下面的示例中,我将椭圆形添加到 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];
【讨论】:
以上是关于当用户与 UIButton 交互时,是不是可以让我在自定义 UIButton 的 drawRect 中绘制的内容“变暗”?的主要内容,如果未能解决你的问题,请参考以下文章
将 TableView 标题粘贴到顶部,导致当用户向下滚动时标题不“交互”
UIImageView 与 setInteractionEnable = YES;在 UIButton 下方处理点击(点击)