दिलचस्प पोस्ट
जावा – चार, एक्स रूपांतरण विंडोज़ कमांड लाइन पर बैच फाइल में मापदंडों का उपयोग करना अजगर: अलग-अलग रंगों में एक पंक्ति को कैसे साजि करें ग्रहण इंडिगो – एंड्रॉइड एडीटी प्लगइन स्थापित नहीं किया जा सकता क्या एमएसटीईस्ट एनयूएनआईटी के टेस्टसीज़ के बराबर है? जावास्क्रिप्ट स्ट्रिंग अपरिवर्तनीय हैं? क्या मुझे JavaScript में "स्ट्रिंग बिल्डर" की आवश्यकता है? अगर किसी डिफ़ॉल्ट का चयन नहीं किया गया है, तो विकल्प को jQuery के साथ चुना गया है या नहीं सी # में "आंतरिक" कीवर्ड के लिए व्यावहारिक उपयोग सी + + टेम्पलेट और हैडर फाइलें p: डेटा एक्सपॉटर पी पहचाना नहीं है: सेलएडिटर स्प्रिंग एमवीसी (@ रेस्पॉन्सबॉडी) में प्रतिक्रिया सामग्री प्रकार किसने सेट करता है WCF त्रुटि: 405 विधि अनुमति नहीं है प्रतिशत ऊँचाई एचटीएमएल 5 / सीएसएस अगर आप जेडब्ल्यूटी को डीकोड कर सकते हैं तो वे कैसे सुरक्षित हैं? एक ही नाम के साथ कई कुकीज़ कैसे प्रबंधित करें?

आईओएस 7 टेक्स्टकिट – छवि के साथ इनलाइन को कैसे सम्मिलित करें?

मैं UITextView का उपयोग करके निम्न प्रभाव प्राप्त करने का प्रयास कर रहा हूं:

यहां छवि विवरण दर्ज करें

असल में मैं पाठ के बीच एक छवि सम्मिलित करना चाहता हूं। छवि बस अंतरिक्ष की 1 पंक्ति ले जा सकती है, इसलिए कोई लपेटन आवश्यक नहीं है

मैं सिर्फ एक UIView subview करने के लिए जोड़ने की कोशिश की:

UIView *pictureView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 25, 25)]; [pictureView setBackgroundColor:[UIColor redColor]]; [self.textView addSubview:pictureView]; 

लेकिन यह पाठ पर तैरता है और इसे कवर लगता है

मैंने अपवर्जन पथ पर पढ़ने का थोड़ा सा किया, जो इसे लागू करने का एक तरीका प्रतीत होता है। हालांकि, मैं पूरी तरह से चित्र की स्थिति नहीं करना चाहता – इसके बजाय, यह पाठ से प्रवाह होना चाहिए (जैसा कि <span> html <span> HTML में व्यवहार करता है)।

Solutions Collecting From Web of "आईओएस 7 टेक्स्टकिट – छवि के साथ इनलाइन को कैसे सम्मिलित करें?"

आपको एक स्ट्रिंग का उपयोग करने की आवश्यकता होगी और छवि को NSTextAttachment उदाहरण के रूप में NSTextAttachment :

 NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:@"like after"]; NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init]; textAttachment.image = [UIImage imageNamed:@"whatever.png"]; NSAttributedString *attrStringWithImage = [NSAttributedString attributedStringWithAttachment:textAttachment]; [attributedString replaceCharactersInRange:NSMakeRange(4, 1) withAttributedString:attrStringWithImage]; 

आप NSAttributedString और NSTextAttachment उपयोग करने का प्रयास कर सकते हैं। छवि का आकार बदलने के लिए NSTextAttachment को अनुकूलित करने के बारे में अधिक विवरण के लिए निम्नलिखित लिंक पर एक नज़र डालें। http://ossh.com.au/design-and-technology/software-development/implementing-rich-text-with-images-on-os-x-and-ios/

मेरे उदाहरण में मैं छवि को चौड़ाई में फिट करने का आकार बदलता हूं, आपके मामले में आप रेखा की ऊंचाई से मेल खाने के लिए छवि का आकार बदलना चाह सकते हैं

@ बिलोबाटम का कोड स्विफ्ट में परिवर्तित होकर उन लोगों के लिए आवश्यक हो:

 var attributedString = NSMutableAttributedString(string: "like after") var textAttachment = NSTextAttachment() textAttachment.image = UIImage(named: "whatever.png") var attrStringWithImage = NSAttributedString.attributedStringWithAttachment(textAttachment) attributedString.replaceCharactersInRange(NSMakeRange(4, 1), withAttributedString: attrStringWithImage) 

@ बिलोबैटम के जवाब पर विस्तार, और इस श्रेणी का उपयोग किसी अन्य प्रश्न से करें। मैंने इसे पकाया:

उपयोग:

 UILabel *labelWithImage = [UILabel new]; labelWithImage.text = @"Tap [new-button] to make a new thing!"; NSAttributedString *stringWithImage = [labelWithImage.attributedText attributedStringByReplacingOccurancesOfString:@"[new-button]" withImage:[UIImage imageNamed:@"MyNewThingButtonImage"] scale:0]; labelWithImage.attributedText = stringWithImage; 

कार्यान्वयन:

 @interface NSMutableAttributedString (InlineImage) - (void)replaceCharactersInRange:(NSRange)range withInlineImage:(UIImage *)inlineImage scale:(CGFloat)inlineImageScale; @end @interface NSAttributedString (InlineImages) - (NSAttributedString *)attributedStringByReplacingOccurancesOfString:(NSString *)string withInlineImage:(UIImage *)inlineImage scale:(CGFloat)inlineImageScale; @end 

 @implementation NSMutableAttributedString (InlineImages) - (void)replaceCharactersInRange:(NSRange)range withInlineImage:(UIImage *)inlineImage scale:(CGFloat)inlineImageScale { if (floorf(inlineImageScale) == 0) inlineImageScale = 1.0f; // Create resized, tinted image matching font size and (text) color UIImage *imageMatchingFont = [inlineImage imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate]; { // Font size NSDictionary *attributesForRange = [self attributesAtIndex:range.location effectiveRange:nil]; UIFont *fontForRange = [attributesForRange valueForKey:NSFontAttributeName]; CGSize imageSizeMatchingFontSize = CGSizeMake(inlineImage.size.width * (fontForRange.capHeight / inlineImage.size.height), fontForRange.capHeight); // Some scaling for prettiness CGFloat defaultScale = 1.4f; imageSizeMatchingFontSize = CGSizeMake(imageSizeMatchingFontSize.width * defaultScale, imageSizeMatchingFontSize.height * defaultScale); imageSizeMatchingFontSize = CGSizeMake(imageSizeMatchingFontSize.width * inlineImageScale, imageSizeMatchingFontSize.height * inlineImageScale); imageSizeMatchingFontSize = CGSizeMake(ceilf(imageSizeMatchingFontSize.width), ceilf(imageSizeMatchingFontSize.height)); // Text color UIColor *textColorForRange = [attributesForRange valueForKey:NSForegroundColorAttributeName]; // Make the matching image UIGraphicsBeginImageContextWithOptions(imageSizeMatchingFontSize, NO, 0.0f); [textColorForRange set]; [inlineImage drawInRect:CGRectMake(0 , 0, imageSizeMatchingFontSize.width, imageSizeMatchingFontSize.height)]; imageMatchingFont = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); } // Text attachment with image NSTextAttachment *textAttachment = [NSTextAttachment new]; textAttachment.image = imageMatchingFont; NSAttributedString *imageString = [NSAttributedString attributedStringWithAttachment:textAttachment]; [self replaceCharactersInRange:range withAttributedString:imageString]; } @end @implementation NSAttributedString (InlineImages) - (NSAttributedString *)attributedStringByReplacingOccurancesOfString:(NSString *)string withInlineImage:(UIImage *)inlineImage scale:(CGFloat)inlineImageScale { NSMutableAttributedString *attributedStringWithImages = [self mutableCopy]; [attributedStringWithImages.string enumerateOccurancesOfString:string usingBlock:^(NSRange substringRange, BOOL *stop) { [attributedStringWithImages replaceCharactersInRange:substringRange withInlineImage:inlineImage scale:inlineImageScale]; }]; return [attributedStringWithImages copy]; } @end