UIButton 在自定义 UITableviewCell 中没有响应
Posted
技术标签:
【中文标题】UIButton 在自定义 UITableviewCell 中没有响应【英文标题】:UIButton does not respond in custom UITableviewCell 【发布时间】:2016-02-26 19:17:59 【问题描述】:我有一个自定义 UITableViewCell,其中添加了一个 UIView“backgroundView”到 TableViewCell contentView。现在,UIImageView“sharedImage”作为子视图添加到“backgroundView”。
在这里,我将 UIButton“downloadButton”作为子视图添加到“sharedImage”。
我有一个“downloadButton”的选择器方法。但不幸的是,没有为 UIButton 调用 action 方法。
我尝试更改 UIControlEventTypes,尝试更改 UserInteractionEnabled ,bringSubViewToFront 选项但没有运气。
这里是代码。
/*Add the background view to the Tableview Cell*/
UIView *backGroundView = [[UIView alloc] init];
backGroundView.frame = CGRectMake(mainViewFrameWidth - widthOfTheBackGroundView - 10.0 , 3.0, widthOfTheBackGroundView, heightOfTheBackGroundView);
backGroundView.backgroundColor = [[UIColor hs_globalTint] colorWithAlphaComponent:0.2];
backGroundView.layer.cornerRadius = 3.0;
backGroundView.tag = 101;
[sendingImageTableViewCell.contentView addSubview:backGroundView];
NSString *imagePath = [NSString stringWithFormat:@"%@/%@",[self.appDelegateInstance getDocumentsPath],mFileInfo.thumbnailPath];
UIImageView *sharedImage = [[UIImageView alloc] init];
sharedImage.image = [self getSquareImageByCropping:[UIImage imageWithContentsOfFile:imagePath] withOrientation:UIImageOrientationUp];
sharedImage.contentMode = UIViewContentModeScaleAspectFit;
sharedImage.tag = 102;
[backGroundView addSubview:sharedImage];
sharedImage.frame = CGRectMake(5.0, 5.0, widthOfTheImageView, heightOfTheImageView);
UIButton *uploadButton = [UIButton buttonWithType:UIButtonTypeCustom];
uploadButton.frame = CGRectMake(0.0, 0.0, 30.0, 30.0);
uploadButton.selected = YES;
uploadButton.enabled = YES;
uploadButton.tag = indexPathOfTheImageCell.row;
uploadButton.backgroundColor = [UIColor clearColor];
[uploadButton addTarget:self action:@selector(onClickOfUploadButton:) forControlEvents:UIControlEventTouchUpInside];
[backGroundView addSubview:uploadButton];
阅读响应者链文档,但无法解决问题。如果我在这里出错,谁能告诉我?
【问题讨论】:
您需要UIControlEventTouchDown
?如果你需要点击动作应该使用UIControlEventTouchUpInside
【参考方案1】:
您将 UIButton 配置为 uploadButton.enabled = NO;
您可以将其更改为“是”。
根据 Apple 的 GUI 指南,UIButton 的最小高度/宽度应为 44.0f - 否则用户可能无法点击它。
【讨论】:
我已将按钮启用为“是”。但没有运气。以上是关于UIButton 在自定义 UITableviewCell 中没有响应的主要内容,如果未能解决你的问题,请参考以下文章
出队后,CALayer 在自定义 UITableViewCell NIB 上消失
如何捕获 UIButton 事件:在自定义 UITableViewCell 实现中添加了 UIButton
UIbutton 在自定义 UITableViewCell 中释放