iCulture forum | iPhone, iPad,  iPod touch, Apple TV en iOS

iCulture forum | iPhone, iPad, iPod touch, Apple TV en iOS (https://forum.iculture.nl/)
-   Ontwikkelen voor iOS (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/)
-   -   Scaling van een UIView (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/33018-scaling-uiview.html)

Thaurin 16-04-09 23:08

Scaling van een UIView
 
Ik heb het volgende nodig. Ik heb een UIView. Wanneer erop wordt gedouble-tapped, wil ik het ding groter hebben, ingezoomd.

Ik vraag me af of ik hier een UIScrollView voor nodig heb. Ik denk het niet. Ik wil alleen een UIView programmatisch een andere frame geven, met scaling. Enige voorbeeld code zou erg helpen.

ideveloper 17-04-09 08:33

Citaat:

Oorspronkelijk geplaatst door Thaurin (Bericht 278571)
Ik heb het volgende nodig. Ik heb een UIView. Wanneer erop wordt gedouble-tapped, wil ik het ding groter hebben, ingezoomd.

Ik vraag me af of ik hier een UIScrollView voor nodig heb. Ik denk het niet. Ik wil alleen een UIView programmatisch een andere frame geven, met scaling. Enige voorbeeld code zou erg helpen.

Onderstaande code maakt myView 2x zo groot in een halve seconde.

Code:

[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];

myView.transform = CGAffineTransformMakeScale(2.0, 2.0);         

[UIView commitAnimations];

Kijk naar CGAffineTransform in de API reference voor meer mogelijkheden van het transformeren van views.

Thaurin 17-04-09 08:52

Aha! Dat ga ik gelijk proberen. Ik had eerder al wel wat view animations toegepast, maar wist verder niet wat CGAffineTransform allemaal kon (lees: ik had wat code 'geleend'). Bedankt, ik ga het lezen.

Thaurin 17-04-09 13:16

Het werkt fantastisch! Bedankt daarvoor. Ik las echter dat je bijna nooit zelf een nieuwe transform hoeft te maken en gewoon de huidige transform kunt aanpassen. Echter, hiervoor moet ik CGContextScaleCTM aanroepen met een CGContextRef als parameter.

Mijn volgende uitdaging is: hoe kom ik achter de context van mijn UIView en moet ik daar een custom UIView voor maken, gezien de functie UIGraphicsGetCurrentContext() die ik veel in drawRect zie aangeroept worden?

Ik speel er later nog wel eens mee als ik meer tijd heb. :)


Alle tijden zijn GMT +2. Het is nu 01:41.