iOS Swift在图像周围环绕文本
我有一个UILabel将包含不同长度的文本。 我需要在文本的左上angular放置一个图像,并用文字环绕它。 我怎样才能做到这一点? 所有我能find的是使用UITextView,我不想使用,因为它是静态文本。
这是一个完全合理的使用UITextView。 你犹豫的理由使用它是不清楚的。 你可以使UITextView不可编辑和不可选; 用户不会知道它是UITextView而不是UILabel。
如果你不喜欢这个解决scheme,那么我会做的是使用,而不是一个UILabel,一个自定义视图,绘制文本。 您可以使用文本工具包绘制文本,因此您可以完全掌握文本的绘制方式。 尤其是,您可以使其自动换行,但不要在angular落(文本容器上的排除path)中绘制文本。
您可以使用NSTextAttachment和属性文本来实现此目的。
NSMutableAttributedString *myText = [[NSMutableAttributedString alloc] initWithString:labelStr]; NSTextAttachment *attachment = [[NSTextAttachment alloc] init] attachment.image = yourImage; NSAttributedString *attachmentLock = [NSAttributedString attributedStringWithAttachment:attachment]; NSMutableAttributedString *lockString = [[NSMutableAttributedString alloc] initWithAttributedString:myText]; //set your image range within the text. modify it till you get it right. NSRange range = NSMakeRange(0,[labelStr length]); [lockString replaceCharactersInRange:NSMakeRange(range.location, 1) withAttributedString:attachmentLock]; yourLabel.attributedText = lockString;