From e34301e92feb8433b9d3054601db07e1346f0321 Mon Sep 17 00:00:00 2001 From: Hulk Date: Wed, 18 May 2022 15:05:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8C=87=E4=BB=A4=E7=94=9F=E6=88=90?= =?UTF-8?q?=E5=85=BC=E5=AE=B9UIButton=E4=BB=85=E4=BD=9C=E4=B8=BA=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E8=A7=A6=E6=8E=A7=E8=83=BD=E5=8A=9B=E7=9A=84=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E6=8E=A7=E4=BB=B6=E7=9A=84=E5=9C=BA=E6=99=AF=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Generator/PrismControlInstructionGenerator.m | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/iOS/DiDiPrism/Src/Core/Instruction/Generator/PrismControlInstructionGenerator.m b/iOS/DiDiPrism/Src/Core/Instruction/Generator/PrismControlInstructionGenerator.m index 60ff8a2..a95e34c 100644 --- a/iOS/DiDiPrism/Src/Core/Instruction/Generator/PrismControlInstructionGenerator.m +++ b/iOS/DiDiPrism/Src/Core/Instruction/Generator/PrismControlInstructionGenerator.m @@ -59,6 +59,13 @@ + (NSString*)getViewContentOfControl:(UIControl*)control { // 获取有代表性的内容便于更好的定位view viewContent = [PrismInstructionContentUtil getRepresentativeContentOfView:control needRecursive:YES]; } + // 兜底考虑把UIButton仅作为给父View添加触控能力的工具控件的场景(此时UIButton通常就是个空白按钮),此时向上遍历真正有意义的父级View。 + if (!viewContent.length && [control isKindOfClass:[UIButton class]]) { + UIView *superView = control.superview; + if (superView && CGRectEqualToRect(control.frame, superView.bounds)) { + viewContent = [PrismInstructionContentUtil getRepresentativeContentOfView:superView needRecursive:YES]; + } + } return viewContent; } @@ -70,7 +77,7 @@ + (NSString*)getViewContentOfButton:(UIButton*)button { else if (button.titleLabel.attributedText.length) { return [NSString stringWithFormat:@"%@%@", kViewRepresentativeContentTypeText, button.titleLabel.attributedText.string]; } - else if (button.imageView.image) { + else if (button.imageView.image && button.imageView.image.prismAutoDotImageName.length) { return [NSString stringWithFormat:@"%@%@", kViewRepresentativeContentTypeLocalImage, button.imageView.image.prismAutoDotImageName]; } return nil;