在Collection View中,按钮不会保持按下状态

时间:2015-01-31 18:06:24

标签: ios uibutton uicollectionview uicollectionviewcell

我有一个使用此代码的应用

    _pushButton = [UIButton buttonWithType:UIButtonTypeCustom];
    _pushButton.frame = CGRectMake(15, 2, 74, 74);
    [_pushButton addTarget:self
                   action:@selector(buttonPushed:)
         forControlEvents:UIControlEventTouchDown];

    [_pushButton addTarget:self
                   action:@selector(buttonReleased:)
         forControlEvents:UIControlEventTouchUpInside];

    [_pushButton setBackgroundImage:[UIImage imageNamed:@"1.png"] forState:UIControlStateNormal];
    [_pushButton setBackgroundImage:[UIImage imageNamed:@"2.png"] forState:UIControlStateSelected];

行为是当按下按钮时图像变暗并且按钮保持在该状态直到按钮被释放。按下按钮时会调用buttonPushed,并在释放时调用buttonReleased。

这就是我的预期。

我有另一个具有完全相同代码的应用程序,我从第一个代码复制过。 行为是不同的:当按下按钮时,图像会变暗但大约一秒后按钮会变为原始状态,即使按下它也是如此。只调用buttonPushed。

这不是我需要的。

1)为什么这两个应用有不同的行为?

2)如何配置第二个应用程序中的按钮与第一个应用程序具有相同的行为?

更新

  • 在第一个应用程序中,按钮是在一个子类中创建的 UIView
  • 在第二个应用程序中,按钮是在类中创建的 子类UIViewController

更新2

不会保持按下的按钮位于UICollectionViewCell的子视图中。显然,按钮在集合视图的单元格中具有不同的行为。

0 个答案:

没有答案