我看过很多关于类似事情的帖子,但没有一个匹配或解决这个问题.从iOS 7开始,每当我添加UIButton到一个UITableViewCell或甚至是一个footerview它都工作"很好",这意味着它接收目标动作,但它没有显示通常在点击时发生的小亮点UIButton.它使UI看起来很时髦而不显示按钮对触摸的反应.
我很确定这是iOS7中的一个错误,但是有人找到了解决方案或者可以帮我找到一个:)
编辑:我忘了提到它会突出显示我是否长按按钮,但如果只是添加到标准视图就不会像它那样快速点击.
码:
创建按钮:
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
button.titleLabel.font = [UIFont systemFontOfSize:14];
button.titleLabel.textColor = [UIColor blueColor];
[button setTitle:@"Testing" forState:UIControlStateNormal];
[button addTarget:self action:@selector(buttonPressed:) forControlEvents: UIControlEventTouchDown];
button.frame = CGRectMake(0, 0, self.view.frame.size.width/2, 40);
Run Code Online (Sandbox Code Playgroud)
我测试的东西:
//删除手势识别器UITableView,以防他们挡路.
for (UIGestureRecognizer *recognizer in self.tableView.gestureRecognizers) {
recognizer.enabled = NO;
}
Run Code Online (Sandbox Code Playgroud)
//从Cell中删除手势
for (UIGestureRecognizer *recognizer in self.contentView.gestureRecognizers) {
recognizer.enabled = NO;
}
Run Code Online (Sandbox Code Playgroud)
//这显示了轻微的触摸,但这不是理想的外观
button.showsTouchWhenHighlighted = YES;
Run Code Online (Sandbox Code Playgroud) 快速按下按钮而不是短时间按住,不会突出显示该按钮.不同于UIButton一个共同的UIView.
就像官方Twitter客户端的头像照片一样.
Instagram客户端似乎解决了这个问题,所有按钮都运行良
在这里找到相同的问题:
为什么UIButton showsTouchWhenHighlighted不在按钮在UITableViewCell上时工作?
但我仍然不知道如何解决它.