2013-10-18 14 views

risposta

4

In SWIFT:

var exclusionPath:UIBezierPath = UIBezierPath(rect: CGRectMake(0, 0, imageView.frame.size.width, imageView.frame.size.height)) 

textView.textContainer.exclusionPaths = [exclusionPath] 
textView.addSubview(imageView) 
3

Il problema che si verifica è che l'immagine inserita nella domanda non utilizza uno UITextView.

Il modo in cui viene fatto è utilizzare Text Kit e rendere il testo manualmente su una vista.

In questo modo è possibile (in iOS7) specificare uno CGPath che il testo "avvolge" intorno.

C'è un video WWDC 2013 "Presentazione del kit di testo" che è possibile guardare here.

Che mostra come procedere.

3

come par mio suggerimento è possibile utilizzare UIWebview invece di TextView per fare questo uso compito loadHTMLString qui si tratta di un example of loading local fines in UIWebview si prega di dare un'occhiata questo e impliment come par te richiesti

3

@Fogmeister è corretta, se si vuole fare qualcosa di un po 'meno complicato usando il RICH TEXT di default con le funzionalità di IMAGE ora disponibili in iOS 7 usando solo NSAttributedString, quindi dai un'occhiata a questo link.

Non sarai in grado di supportare il text wrapping - usa Pages per quello - ma per prendere appunti semplici questo potrebbe fare.

9

Aggiungere il codice seguente dopo aver definito textView e imageView.

import CoreText.Framework 

UIBezierPath *exclusionPath = [UIBezierPath bezierPathWithRect:CGRectMake(0, 0, imageView.frame.size.width, imageView.frame.size.height)]; 

textView.textContainer.exclusionPaths = @[exclusionPath]; 

[textView addSubview:imageView]; 

avere un'idea chiara su un'esercitazione conduttore vedi raywenderlich