我正在开发通用应用程序,并且其中有一个UIButton可以在iPhone上正常使用,但是当我在iPad中单击它时,需要多次单击尝试才能发生触摸事件。

例如5-6次点击后,它会执行click事件。

以下是UIButton代码。请帮忙。

UIView *footer = [[[UIView alloc] initWithFrame:(CGRectMake(0, 0, self.tableView.frame.size.width, 54))] autorelease];
float buttonWidth = (int)((self.tableView.frame.size.width - 12 - 12) / 3);
float buttonHeight = 44;

if (clientState.Devicetype == 1) // 1=Ipad
    buttonHeight = 90;
cash = [[UIButton buttonWithType:UIButtonTypeRoundedRect] retain];

cash.frame = CGRectMake(6, 10, buttonWidth, buttonHeight);
[cash setTitle:@"Cash" forState:UIControlStateNormal];
[cash setTitleColor:[UIColor lightGrayColor] forState:UIControlStateDisabled];
[cash addTarget:self action:@selector(handleCash:) forControlEvents:UIControlEventTouchUpInside];
cash.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleRightMargin;

if (clientState.Devicetype == 1) // 1=Ipad
{
    cash.titleLabel.font = [UIFont systemFontOfSize:28];
}

[footer addSubview:cash];

self.tableView.tableFooterView = footer;

最佳答案

您应该检查以确保按钮大小正确:

[cash sizeToFit]

我已经体验到,如果其他某个视图阻止了它(并且您单击按钮的那部分将不会触发该事件),它将需要多次单击,因为您最终会在未覆盖该按钮的地方按下它。因此,请确保按钮上方没有其他边框/边界,并确保按钮尺寸正确。

关于iphone - iPad:UIButton需要多次点击才能捕捉 Action ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10451289/

10-13 07:27