Agregar vista de carrusel dentro de Textview

Estoy agregando datos a TextView través de la sqlite database . Tengo alnetworkingedor de 30 a 35 imágenes para agregarse después de algunos Para o Line of data, que he hecho a través de NSTextAttachment . Ahora lo que quiero hacer es dondequiera que haya más de 2 imágenes que quiero que estén en Carousel View y los datos restantes después de él. Echa un vistazo a mi código. Probé de otra manera, pero no logré el éxito. Cualquier ayuda será muy apreciada.

 NSTextAttachment *textAttachment1 = [[NSTextAttachment alloc] init]; textAttachment1.image = [UIImage imageNamed:@"img1.png"]; NSTextAttachment *textAttachment = [[NSTextAttachment alloc] init]; textAttachment.image = [UIImage imageNamed:@"img2.png"]; NSTextAttachment *textAttachment2 = [[NSTextAttachment alloc] init]; textAttachment2.image = [UIImage imageNamed:@"img3.png"]; NSTextAttachment *textAttachment3 = [[NSTextAttachment alloc] init]; CGFloat oldWidth1 = textAttachment1.image.size.width; CGFloat oldWidth = textAttachment.image.size.width; CGFloat oldWidth2 = textAttachment2.image.size.width; CGFloat scaleFactor1 = oldWidth1 / (self.textViewResearch.frame.size.width + 70); CGFloat scaleFactor = oldWidth / (self.textViewResearch.frame.size.width + 70); CGFloat scaleFactor2 = oldWidth2 / (self.textViewResearch.frame.size.width + 70); textAttachment1.image = [UIImage imageWithCGImage:textAttachment1.image.CGImage scale:scaleFactor1 orientation:UIImageOrientationUp]; textAttachment.image = [UIImage imageWithCGImage:textAttachment.image.CGImage scale:scaleFactor orientation:UIImageOrientationUp]; textAttachment2.image = [UIImage imageWithCGImage:textAttachment2.image.CGImage scale:scaleFactor2 orientation:UIImageOrientationUp]; NSAttributedString *attrStringWithImage1 = [NSAttributedString attributedStringWithAttachment:textAttachment1]; NSAttributedString *attrStringWithImage = [NSAttributedString attributedStringWithAttachment:textAttachment]; NSAttributedString *attrStringWithImage2 = [NSAttributedString attributedStringWithAttachment:textAttachment2]; [attributedString replaceCharactersInRange:NSMakeRange(0, 0) withAttributedString:attrStringWithImage1]; [attributedString replaceCharactersInRange:NSMakeRange(13740, 0) withAttributedString:attrStringWithImage]; [attributedString replaceCharactersInRange:NSMakeRange(13741, 0) withAttributedString:attrStringWithImage2]; self.textView.attributedText = attributedString; 

Si te entendí correctamente, deseas colocar una image dentro de una vista de text y dejar que el text fluya a su alnetworkingedor. Teniendo más de 2 imágenes que desea tener un carrusel, una instancia de la class iCarousel .

Tener una subvista dentro de una instancia de UITextView y dejar que el text flote a su alnetworkingedor, es una tarea conocida. La forma más fácil parece ser utilizar la ruta de exclusión de un contenedor de text como este:

 // Get the dimension of the subview iCarousel *subview = …; UIBezierPath *subviewPath = [UIBezierPath bezierPathWithRect:subview.frame]; // Somewhere you should add it UITextView *textView = …; // Wherever it comes from [textView addSubview:subview]; // Let the text flow around it UITextContainer *textContainer = textView.textContainer; // The text container is the region text is laid out in. textContainer.exclusionPaths = [subviewPath]; // Do not lay out in this region. 

Por supuesto, debe cambiar la región de exclusión, siempre que cambie el marco de las subvistas.

Un enfoque más flexible y más complejo es hacer el layout del text propio. Si el enfoque anterior no funciona, avíseme. Agregaré código para esto.