diff --git a/YYText/Utility/NSAttributedString+YYText.h b/YYText/Utility/NSAttributedString+YYText.h index 84722fb7..2c7ac11a 100644 --- a/YYText/Utility/NSAttributedString+YYText.h +++ b/YYText/Utility/NSAttributedString+YYText.h @@ -619,6 +619,13 @@ NS_ASSUME_NONNULL_BEGIN ascent:(CGFloat)ascent descent:(CGFloat)descent; ++ (NSMutableAttributedString *)yy_attachmentStringWithContent:(nullable id)content + contentMode:(UIViewContentMode)contentMode + width:(CGFloat)width + ascent:(CGFloat)ascent + descent:(CGFloat)descent + accessibilityLabel:(NSString *)accessibilityLabel; + /** Creates and returns an attachment. @@ -653,6 +660,13 @@ NS_ASSUME_NONNULL_BEGIN alignToFont:(UIFont *)font alignment:(YYTextVerticalAlignment)alignment; ++ (NSMutableAttributedString *)yy_attachmentStringWithContent:(nullable id)content + contentMode:(UIViewContentMode)contentMode + attachmentSize:(CGSize)attachmentSize + alignToFont:(UIFont *)font + alignment:(YYTextVerticalAlignment)alignment + accessibilityLabel:(NSString *)accessibilityLabel; + /** Creates and returns an attahment from a fourquare image as if it was an emoji. diff --git a/YYText/Utility/NSAttributedString+YYText.m b/YYText/Utility/NSAttributedString+YYText.m index 63f95799..9ce43a5e 100644 --- a/YYText/Utility/NSAttributedString+YYText.m +++ b/YYText/Utility/NSAttributedString+YYText.m @@ -555,13 +555,23 @@ + (NSMutableAttributedString *)yy_attachmentStringWithContent:(id)content width:(CGFloat)width ascent:(CGFloat)ascent descent:(CGFloat)descent { + return [NSMutableAttributedString yy_attachmentStringWithContent:content contentMode:contentMode width:width ascent:ascent descent:descent accessibilityLabel:nil]; +} + ++ (NSMutableAttributedString *)yy_attachmentStringWithContent:(id)content + contentMode:(UIViewContentMode)contentMode + width:(CGFloat)width + ascent:(CGFloat)ascent + descent:(CGFloat)descent + accessibilityLabel:(NSString *)accessibilityLabel { NSMutableAttributedString *atr = [[NSMutableAttributedString alloc] initWithString:YYTextAttachmentToken]; - + YYTextAttachment *attach = [YYTextAttachment new]; attach.content = content; + attach.accessibilityLabel = accessibilityLabel; attach.contentMode = contentMode; [atr yy_setTextAttachment:attach range:NSMakeRange(0, atr.length)]; - + YYTextRunDelegate *delegate = [YYTextRunDelegate new]; delegate.width = width; delegate.ascent = ascent; @@ -569,7 +579,7 @@ + (NSMutableAttributedString *)yy_attachmentStringWithContent:(id)content CTRunDelegateRef delegateRef = delegate.CTRunDelegate; [atr yy_setRunDelegate:delegateRef range:NSMakeRange(0, atr.length)]; if (delegate) CFRelease(delegateRef); - + return atr; } @@ -578,10 +588,20 @@ + (NSMutableAttributedString *)yy_attachmentStringWithContent:(id)content attachmentSize:(CGSize)attachmentSize alignToFont:(UIFont *)font alignment:(YYTextVerticalAlignment)alignment { + return [NSAttributedString yy_attachmentStringWithContent:content contentMode:contentMode attachmentSize:attachmentSize alignToFont:font alignment:alignment accessibilityLabel:nil]; +} + ++ (NSMutableAttributedString *)yy_attachmentStringWithContent:(id)content + contentMode:(UIViewContentMode)contentMode + attachmentSize:(CGSize)attachmentSize + alignToFont:(UIFont *)font + alignment:(YYTextVerticalAlignment)alignment + accessibilityLabel:(NSString *)accessibilityLabel { NSMutableAttributedString *atr = [[NSMutableAttributedString alloc] initWithString:YYTextAttachmentToken]; YYTextAttachment *attach = [YYTextAttachment new]; attach.content = content; + attach.accessibilityLabel = accessibilityLabel; attach.contentMode = contentMode; [atr yy_setTextAttachment:attach range:NSMakeRange(0, atr.length)];