iOS UIButton 选中状态
Posted
技术标签:
【中文标题】iOS UIButton 选中状态【英文标题】:iOS UIButton Selected State 【发布时间】:2014-10-28 03:13:41 【问题描述】:我想实现下图的按钮状态。当触摸“开始..”区域时,该区域会突出显示并弹出一个日期选择器。我的方法是创建一个全角按钮并在其上放置两个标签 Starts, Today 12:00 AM。当用户触摸按钮时,我通过拉起日期选择器来响应操作。这是我的问题。
-
这种方法是传统的吗?
如何使按钮进入“选定”状态?我尝试了以下方法来更改背景图片:
UIImage *buttonImage = [[UIImage imageNamed:@"btn_carrot.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(18, 18, 18, 18)]; UIImage *buttonImageHighlight = [[UIImage imageNamed:@"btn_light_carrot.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(18, 18, 18, 18)]; [self.startDateButton setBackgroundImage:buttonImage forState:UIControlStateNormal]; [self.startDateButton setBackgroundImage:buttonImageHighlight forState:(UIControlStateHighlighted | UIControlStateSelected)];
但是,按钮永远不会进入选定状态。它短暂地改变了它的颜色。 谢谢!
【问题讨论】:
【参考方案1】:在按钮触发后尝试 setHighlighted:
[self.startDateButton setHighlighted:YES];
【讨论】:
谢谢安德烈亚斯,但不幸的是,这不起作用。 也许你应该看看这篇文章:***.com/questions/1785008/… 按钮的颜色在按下按钮时会发生变化,但只要我一松开手指,按钮就会恢复到原来的颜色。【参考方案2】:您可以使用UITableViewDelegate中的- tableView:didSelectRowAtIndexPath:来响应用户的触摸动作,并通过UITableViewDataSource中的- tableView:cellForRowAtIndexPath:自定义您的单元格。
【讨论】:
不能用 UIButton 做吗?以上是关于iOS UIButton 选中状态的主要内容,如果未能解决你的问题,请参考以下文章