【问题标题】:iOS UIButton Selected StateiOS UIButton 选中状态
【发布时间】:2014-10-28 03:13:41
【问题描述】:

我想实现下图的按钮状态。当触摸“开始..”区域时,该区域会突出显示并弹出一个日期选择器。我的方法是创建一个全角按钮并在其上放置两个标签 Starts, Today 12:00 AM。当用户触摸按钮时,我通过拉起日期选择器来响应操作。这是我的问题。

  1. 这种方法是传统的吗?
  2. 如何使按钮进入“选定”状态?我尝试了以下方法来更改背景图片:

    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)];

但是,按钮永远不会进入选定状态。它短暂地改变了它的颜色。 谢谢!

【问题讨论】:

    标签: ios objective-c


    【解决方案1】:

    在按钮触发后尝试 setHighlighted:

    [self.startDateButton setHighlighted:YES];
    

    【讨论】:

    • 谢谢安德烈亚斯,但不幸的是,这不起作用。
    • 也许你应该看看这篇文章:stackoverflow.com/questions/1785008/…
    • 按钮的颜色在按下按钮时会发生变化,但只要我一松开手指,按钮就会恢复到原来的颜色。
    【解决方案2】:

    您可以使用UITableViewDelegate中的- tableView:didSelectRowAtIndexPath:来响应用户的触摸动作,并通过UITableViewDataSource中的- tableView:cellForRowAtIndexPath:自定义您的单元格。

    【讨论】:

    • 不能用 UIButton 做吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    • 2013-11-22
    相关资源
    最近更新 更多