1

我有一个 UITableView 填充了一些单元格。我使用以下代码段创建了一个 UIButton,它位于一个节标题旁边。

UIButton *addButton = [UIButton buttonWithType:UIButtonTypeCustom];
[addButton addTarget:self action:@selector(addButtonPressed) forControlEvents:UIControlEventTouchUpInside];
[addButton setBackgroundImage:[UIImage imageNamed:@"add.png"] forState:UIControlStateNormal];
addButton.backgroundColor = [UIColor clearColor];
addButton.frame = CGRectMake(270, 150, 29, 29);

按钮已放置并正常工作。但是,在视图滚动后(甚至稍微像 1 个像素),按钮会工作一次,然后停止响应。当它无法响应单击时的操作时,不会触发该操作,并且该按钮不会给出“按下”的阴影。应用程序的其余部分正常运行,不会崩溃。

这看起来很奇怪,因为在我滚动按钮之后,它会在它停止工作之前再次单击。该按钮用于将行插入表中,因此按下后会有额外的行,这可能是打破界限还是什么?

按钮按下功能:

- (void)addButtonPressed {
    self.addClientTable.editing = YES;

    // First figure out how many sections there are
    NSInteger lastSectionIndex = [self numberOfSectionsInTableView:self.addClientTable] - 1;

    // Then grab the number of rows in the last section
    NSInteger lastRowIndex = [self.addClientTable numberOfRowsInSection:lastSectionIndex];

    [self.addClientTable insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:lastRowIndex inSection:lastSectionIndex]] withRowAnimation:UITableViewRowAnimationRight];

    self.addClientTable.editing = NO;
}

addClientTableUITableView在哪里。

什么可能导致 UIButton 停止响应点击,在我的场景中这是由什么引起的?

4

1 回答 1

3

我几乎可以肯定您的问题是您的按钮不在它的超级视图中,并且您没有在包含该按钮的视图或其中一个超级视图中使用剪辑子视图选项。

将所有视图属性剪辑子视图设置为 true 并查看它是否出现在您的按钮中。(我们希望按钮消失)

如果您提供更多代码,我可以尝试帮助您解决此问题。

-

再次阅读您的问题,另一个可能的问题是您的按钮前面有一个视图。您可以测试它更改视图的背景,或类似的东西。

于 2012-11-27T19:12:36.680 回答