我寫了在Controller中自己定義了一個UIButton,綁定了一個事件UIControlEventTouchUpInside,然后在運行的時候,手指按下不松開,慢慢到按鈕外部,按鈕的UIControlEventTouchUpInside這個事件不執行。由于需求需要在手指移到按鈕外部的時候執行UIControlEventTouchUpInside綁定的事件,所以我又給把這個方法綁定到這個按鈕的UIControlEventTouchDragExit上,但這個事件出現了一個很讓人郁悶的問題,當移出按鈕外后一段距離了, 它才開始執行,請問我想讓這個按鈕在手指移出或者按下松開執行事件該怎么做?貼出來寫的代碼,_publishBtn = [[UIButton alloc] init]; float publishWith = (self.view.frame.size.width - 205)/2;
_publishBtn.frame = CGRectMake(publishWith, 344, 205, 47);
_publishBtn.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"btn.png"]];
[_publishBtn.titleLabel setTextColor:[UIColor blackColor]];
[_publishBtn setTitle:@"按住" forState:UIControlStateNormal];
_publishBtn.titleLabel.shadowColor = [UIColor blackColor];
_publishBtn.titleLabel.shadowOffset = CGSizeMake(0, 1.0);
[_publishBtn setTitle:@"松開" forState:UIControlStateHighlighted];
[_publishBtn setBackgroundImage:[UIImage imageNamed:@"btn_on.png"] forState:UIControlStateHighlighted];
[_publishBtn addTarget:self action:@selector(stop) forControlEvents:UIControlEventTouchUpInside];
[_publishBtn addTarget:self action:@selector(stop) forControlEvents:UIControlEventTouchDragExit];
[_publishBtn addTarget:self action:@selector(start) forControlEvents:UIControlEventTouchDown];
[self.view addSubview:_publishBtn];
1 回答

守著一只汪
TA貢獻1872條經驗 獲得超4個贊
UIControlEventTouchUpOutside
這個在手指松開就執行的,但是移出邊界后就不執行的。你是想移出到按鈕之外響應這個事件,看看別的event可以不,如果不行,你用個view來替代吧。
添加回答
舉報
0/150
提交
取消