![](/img/trans.png)
[英]BackgroundImage of UIButton sometimes did not change with touchUpInside event
[英]UIButton touchUpInside event not firing correctly
我有一個tableview,其中包含帶有包含UIButton
的自定義單元格的行。 但是,按鈕並不總是會觸發動作。 這是我的代碼:
submitButton = [[UIButton alloc] init];
[[submitButton layer] setBorderColor:[[UIColor whiteColor] CGColor]];
[submitButton setClipsToBounds: YES];
submitButton.backgroundColor = [UIColor grayColor];
[submitButton setTitle:@"Send" forState:UIControlStateNormal];
[self.contentView addSubview:submitButton];
[submitButton addTarget:self action:@selector(buttonAction) forControlEvents:UIControlEventTouchUpInside];
[submitButton release];
在自定義單元格的-(id)initWithStyle:
調用此方法-(id)initWithStyle:
buttonAction
方法如下所示:
-(void)buttonAction
{
NSLog(@"Button Clicked!");
}
看來,使buttonAction
觸發的唯一方法是按下按鈕並釋放單元格框架內的某個位置,而不是按鈕本身內的某個位置。 為什么會這樣呢?
* 更新 *問題仍然存在,但是我發現使按鈕觸發的更一致的方法是單擊並向左或向右拖動,然后放開,只要我在單元格/行的范圍內放開。
更新#2看起來如果我使用iOS 6.0,它可以按預期工作。 但是在5.0或5.1上則沒有。
嘗試[submitButton sizeToFit]
。 我想知道您的按鈕是否有任何尺寸(因為我看不到您給它任何尺寸)。
另外:使用[UIButton buttonWithType: UIButtonTypeCustom]
而不是alloc-init創建按鈕。
嘗試將相同的方法調用也分配給TouchUpOutside
然后您應該會看到它每次都起作用。 僅當您仍在按鈕范圍內舉起手指時,才會觸發TouchUpInside。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.