Ios 如何在特定时间禁用特定触摸事件的特定UIButton操作
因此,我的Ios 如何在特定时间禁用特定触摸事件的特定UIButton操作,ios,swift,Ios,Swift,因此,我的UI有许多UI按钮,我有一个“Action”Int,它在0-9之间循环 我希望在“Action”为0时,只注册第一个ui按钮的输入。一旦用户按下第一个ui按钮my code已经将“操作”Int推进到1,此时我希望我的程序只注册第二个ui按钮…的输入,以此类推 我的ui按钮位于一个数组中。到目前为止,我已经找到了UIButton.hidden和UIButton.enable,我可以根据“Action” .隐藏将不起作用,因为我希望按钮仍然可见 .enable使其可见,但…这里有一个问题
UI
有许多UI按钮
,我有一个“Action”
Int
,它在0-9之间循环
我希望在“Action”
为0
时,只注册第一个ui按钮的输入。一旦用户按下第一个ui按钮
my code已经将“操作”
Int
推进到1
,此时我希望我的程序只注册第二个ui按钮
…的输入,以此类推
我的ui按钮
位于一个数组中。到目前为止,我已经找到了UIButton.hidden
和UIButton.enable
,我可以根据“Action”
.隐藏将不起作用,因为我希望按钮仍然可见 .enable使其可见,但…这里有一个问题 每个按钮都有4个不同的操作
touchup-inside
touchDragExitdoubleTap:gesturecognizer
和longPress:gesturecognizer
,以及一个func
功能,用于在“刷卡”中收集ui按钮平移时数组,并在平移完成时执行这些按钮“touchDragExit
和我希望长按:手势识别器
永远不要处于非活动状态
和只要第一个按钮是==“Action”
其他方法的任何建议,或者我如何使.enable对特定的触摸事件有效?
如果您希望某些手势保持有效,我不建议启用和禁用
我最初的想法是在创建数组时为每个按钮设置一个标记,然后对照手势处理程序中的当前动作值进行检查
可能您需要pan集合的状态变量来检查它是否在其他按钮拾取它时成功启动,具体取决于您的实现
var buttonArray = [UIButton]()
var buttonCount = 10
var action = 0
func viewDidLoad {
for var i = 0; i < buttonCount; ++i {
var button = UIButton()
button.tag = i
button.setTarget(self, action:"didTap:", forControlEvent:.TouchUpInside)
// Other actions
button.setTarget(self, action:"didLongPress:", forControlEvent.LongPress)
buttonArray.append(button)
}
}
func didTap(sender:UIButton) {
if action >= sender.tag {
// Handle action
}
}
// Other action handlers
func didLongPress(sender:UIButton) {
// Always handle action
}
var buttonArray=[UIButton]()
var buttonCount=10
var action=0
func viewDidLoad{
对于变量i=0;i=sender.tag{
//处理动作
}
}
//其他动作处理程序
func didLongPress(发送方:UIButton){
//总是处理行动
}
如果一个对象的标签没有设置,它的标签==nil吗?一般来说,。标签正是我想要的。任何人都可以在.tag
上找到苹果文档的链接。我找不到