什么控制事件开始和结束突出显示UIButton的状态

时间:2016-01-12 13:22:56

标签: ios swift uibutton uicontrolevents

我用UIButton作为钢琴键创建类似钢琴的视图。当按钮到达并失去突出显示状态时,我应该监听UIControlEvents以获得回调?

我尝试创建UIButton的子类并为highlighted添加属性观察器,但它运行正常。但是有时候我需要从代码中手动设置突出显示的状态,因为没有办法判断事件是用户还是应用程序启动,所以它真的很混乱。

2 个答案:

答案 0 :(得分:11)

为了模仿钢琴键的行为,我使用了以下UIControlEvents

self.addTarget(self, action: "pressed", forControlEvents: [.touchDown])
self.addTarget(self, action: "released", forControlEvents: [.touchDragExit, .touchUpInside, .touchUpOutside, .touchCancel])

答案 1 :(得分:1)

获得突出显示状态:private ObservableCollection<TaskExecutionHistoryModel> _TaskAll; public ObservableCollection<TaskExecutionHistoryModel> TaskAll { get{ return _TaskAll;} set { _TaskAll = value; base.NotifyPropertyChanged(x => x.TaskAll); } } public Task(ObservableCollection<TaskExecutionHistoryModel> ExecutionHistory) { }

失去突出显示状态:UIControlEventTouchDown