我想在按钮突出显示时执行操作,并在突出显示状态时执行其他操作。有什么建议?按钮离开突出显示状态时的调用方法
回答
你可以使用志愿
[button addObserver:self forKeyPath:@"highlighted" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:NULL];
然后
- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context
{
if ([@"highlighted" isEqualToString:keyPath]) {
NSNumber *new = [change objectForKey:@"new"];
NSNumber *old = [change objectForKey:@"old"];
if (old && [new isEqualToNumber:old]) {
NSLog(@"Highlight state has not changed");
} else {
NSLog(@"Highlight state has changed to %d", [object isHighlighted]);
}
}
}
你只真正关心的变化,这将被称为每次例如状态变化如果你选择移动,然后用你的手指仍然向下拖动到按钮之外
是否这样?
self.testButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[self.testButton addTarget:self action:@selector(methodOne) forControlEvents:UIControlEventTouchDown];
[self.testButton addTarget:self action:@selector(methodTwo) forControlEvents:UIControlEventTouchUpInside];
没有这不起作用,因为按钮离开高亮状态时,它执行TouchUpInside动作之前(至少我是这么认为的测试后,猜测... ) – arnoapp 2012-04-01 21:39:11
这不是那样干净,当你可以做这样的事情拖出按钮导致按钮失去它的亮点 – 2012-04-01 21:39:19
要使用拖动外占优势的情况下,你可以在最后一行改为:[self.testButton addTarget :self action:@selector(t2 :) forControlEvents:UIControlEventTouchUpInside | UIControlEventTouchUpOutside]; – 2012-04-01 21:50:22
- 1. 如何在按下按钮时突出显示一个按钮
- 2. Android:图像按钮或按钮突出显示效果时按
- 3. 突出显示Rails中活动按钮的一般方法
- 4. 突出显示按钮按下它
- 5. 显示离开状态31天
- 6. 表格视图单元格内的按钮在单元格上点击时显示突出显示的状态
- 7. UItabBarItem突出显示状态图像
- 8. 如何突出显示按下其他按钮的按钮
- 9. 突出显示与CSS单选按钮
- 10. 如何突出显示所选按钮?
- 11. 自动突出显示UITabBar按钮
- 12. 如何防止按钮突出显示
- 13. Android AndEngine按钮仍然突出显示
- 14. onLongClick后突出显示按钮不亮
- 15. Xcode - 按钮突出显示不一致
- 16. 如何在按下时突出显示图像按钮
- 17. 如何在按下时突出显示按钮
- 18. 突出显示按钮栏中的选定按钮(flex)
- 19. CKEDITOR:文本未突出显示时禁用插件按钮
- 20. 如何显示突出显示的按钮序列?
- 21. 在iphone中突出显示时改变按钮的颜色
- 22. 如何在TreeView中突出显示TreeviewItem以显示状态?
- 23. 如何在突出显示按钮时更改按钮内的文本?
- 24. GNU屏幕:如何在按下命令字符时突出显示状态栏
- 25. 要在按钮中显示的jQuery倒计时状态
- 26. 当我按下按钮时,如何调用静态方法?
- 27. 当rowdetails展开时突出显示行
- 28. UIButton保持突出显示时按下
- 29. 表调心离开时,元素显示
- 30. 离子按钮状态变化
这正是我一直在寻找前的亮状态!谢谢! – arnoapp 2012-04-01 22:20:36