iOS 中的按钮触摸状态
Button Touch State in ios
我想知道按钮在按下时的状态以及当用户从按钮上移开手指时,就像在 JavaScript 中一样有事件 OnKeyDown 并显示警报 onKeyup 在 iOS 中显示另一个警报我正在寻找一些像 JavaScript 的东西,我找到了 touchupInside(ONkeyDown( touchupOutside(OnkeyUp(,但是当按钮启动时我无法记录任何事情(意味着用户从按钮中删除他/她的 fingure (这在 iOS 中是否可能,我正在寻找一些类似的事情
UIButton *button = (UIButton *)sender;
button.selected = ![button isSelected]; // Important line
if (button.selected)
{
NSLog(@"Selected");
NSLog(@"%i",button.tag);
}
else
{
NSLog(@"Un Selected");
NSLog(@"%i",button.tag);
}
我认为您需要的是不同的控制事件OnKeyDown
事件,一旦点击按钮,您就需要UIControlEventTouchDown
事件和您需要onKeyup
UIControlEventTouchUpInside
通过使用这两个事件 对于按钮,您可以获得您想要的,例如
- (void)viewDidLoad
{
[super viewDidLoad];
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
[button setFrame:CGRectMake(0, 100, 150, 100)];
[button setTitle:@"Touch" forState:UIControlStateNormal];
[button addTarget:self action:@selector(onKeyupEvent:) forControlEvents:UIControlEventTouchUpInside];
[button addTarget:self action:@selector(onKeyDownEvent:) forControlEvents:UIControlEventTouchDown];
[self.view addSubview:button];
}
- (void)onKeyupEvent:(id)sender
{
NSLog(@"key up event");
}
- (void)onKeyDownEvent:(id)sender
{
NSLog(@"key down event");
}
您可以使用许多事件,并且您可以通过谷歌搜索UIControl Class Reference
找到整个列表。看看constant
部分中的control events
。
此外,您可以通过执行以下操作来触发这些事件:
[button addTarget:self action:@selector(ButtonEvent:) forControlEvents:UIControlEventTouchUpInside];
然后添加以下方法:
-(IBAction)ButtonEvent:(id)sender {
// do something...
}
相关文章:
- 事件和状态
- 触摸移动时切换到新元素
- 获取选择框的状态
- 相位器状态未捕获参考错误
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何使用密码检测网络中的状态连接
- Ember.js-接口状态应该存储在哪里
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- 在Angular 2中布线期间保持零部件处于活动状态
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- 谷歌地图劫持了iphone's滚动(触摸事件)-如何恢复
- XMLHttpRequest未返回值-状态202
- iOS 中的按钮触摸状态
- 在触摸结束事件期间,Find元素手指处于打开状态
- 在触摸设备上的悬停状态后启用链接,而不会影响正常滚动
- Don't在触摸设备上显示悬停状态
- 使用jQuery添加触摸状态
- 防止超链接的触摸和显示悬停状态
- 如何改变sencha触摸中按钮的按下状态
- 触摸设备的HTML元素:悬停状态