Disegnamo all’interno di una View

      Nessun commento su Disegnamo all’interno di una View

Ciao a tutti ragazzi come si può intuire dal titolo oggi vi mostrerò come poter disegnare all’interno di una view .

Quindi Creiamo un nuovo progetto di tipo singleview,nel campo dove dovete inserire il nome del progetto spuntate il flag su use automatic reference counting

La prima cosa da fare è creare un nuovo file/new file/objective-c class come nome dategli view e in subclass uiview (mi raccomando no uiviewcontroller)

fatto ciò andiamo a importare nel nostro progetto 2 framework  QuartzCore e CoreGraphics.

Nel File View.h l’unica cosa da fare è inserire i due framework

#import <QuartzCore/QuartzCore.h>

#import <CoreGraphics/CoreGraphics.h>

Mentre nel file View.m basta scrivere il seguente codice :

[code lang=”obj-c”]

//Questo metodo ci permette di disegnare all’interno di una View

– (void)drawRect:(CGRect)rect

&nbsp;

{

CGContextRef context = UIGraphicsGetCurrentContext();

//Disegna rettangolo tramite le cordinate disegnamo un rettangolo

CGRect disegnaRettangolo = CGRectMake(100.0, 90.0f, 100.0f, 180.0f);

//impostiamo i colori del rettangolo

const CGFloat *RettColori = CGColorGetComponents([[UIColor yellowColor] CGColor]);

CGContextSetFillColor(context, RettColori);

CGContextFillRect(context, disegnaRettangolo);

//impostazioni ellisse tramite le cordinate disegnamo un ellissi

CGRect ellisseDisegna = CGRectMake(160.0f, 140.0f, 75.0f, 50.0f);

//impostiamo i colori del rettangolo

const CGFloat *ellissecolori = CGColorGetComponents([[UIColor redColor] CGColor]);

CGContextSetFillColor(context, ellissecolori);

CGContextFillEllipseInRect(context, ellisseDisegna);

}

&nbsp;

[/code]

Come potete notare il tutto è realmente molto semplice l’ultimo passo da compiere è quello di recarci nel file ViewController.xib ,

inserire una view all’interno della nostra view di default un ‘altra view e tenendola selezionata impostiamo la sua classe come View

Se avete seguito tutti i passaggi il risultato finale dovrà essere simile a questo :