簡體   English   中英

UIButton touchUpInside事件無法正確觸發

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM