【发布时间】:2012-06-26 14:32:17
【问题描述】:
使用UIControl,例如UIButton,您可以使用类似
myControl.state
判断控件当前是否被按下。
但是,我需要对一些 UIBarButtonItems(不是从 UIControl 派生的)做同样的事情,这样我就可以在其中一个被按下时停止编辑表格。
这是我的代码:
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
//other checks
for(int b=0; b<self.toolbar.items.count; b++)
{
UIControl *currentControl= [self.toolbar.items objectAtIndex:b];
if(currentControl.state==UIControlStateHighlighted)
{
return NO;
}
}
return YES;
}
显然,它不起作用,因为它假定 UIBarButtonItems 可以 被视为 UIControls,但是我将如何做我在这里尝试做的事情?
【问题讨论】:
-
你说得对,好心的先生。
-
你想实现什么功能?
-
我的应用程序中有一个表格,可以在其中滑动单元格以进入编辑模式并显示删除按钮。但是,当用户同时按下按钮或工具栏按钮之一时进入单元格上的编辑模式时,我遇到了错误。因此,我想让在按住按钮时无法进入编辑模式。只是一个波兰的东西。
-
就像他们将手指按住单元格或某处的按钮,然后在他们仍然按住第一个按钮的同时点击编辑按钮?为什么不只是在 touchDown 期间禁用编辑模式并在 touchUp 时重新启用编辑按钮
-
实际上,UIBarButtonItems 只允许设置一个操作,并且它们也不允许您选择它用于哪个控件事件。
标签: ios state uibarbuttonitem uicontrol