Utiliser UIScrollView sur une image
Bonjour,
Je cherche à pouvoir zoom et scroller sur une image affichée sur une partie de l'écran.
J'essaie d'utiliser UIScrollView... Mais cela ne marche pas
Sauriez vous ce que je fais de mal ?
D'avance merci
Voila a quoi ressemble mon code dans viewDidLoad :
UIImage *img = [UIImageimageWithContentsOfFile: NSBundlemainBundle] pathForResource:@"monfichierjpg"ofType:@"jpg";
CGRect cropRect = CGRectMake(0, 0, 530, 776);
CGImageRef imageRef = CGImageCreateWithImageInRect(
myImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 530, 776)];
myImage.image = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
resizableView = [[UIScrollView alloc] initWithFrame:CGRectMake(120,80,530,776)];
[resizableView setMaximumZoomScale:4.0];
[resizableView setMinimumZoomScale:0.5];
[resizableView setDelegate:self];
[resizableView addSubview:myImage];
[self.view addSubview:resizableView];
Je cherche à pouvoir zoom et scroller sur une image affichée sur une partie de l'écran.
J'essaie d'utiliser UIScrollView... Mais cela ne marche pas
Sauriez vous ce que je fais de mal ?
D'avance merci
Voila a quoi ressemble mon code dans viewDidLoad :
UIImage *img = [UIImageimageWithContentsOfFile: NSBundlemainBundle] pathForResource:@"monfichierjpg"ofType:@"jpg";
CGRect cropRect = CGRectMake(0, 0, 530, 776);
CGImageRef imageRef = CGImageCreateWithImageInRect(
myImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 530, 776)];
myImage.image = [UIImage imageWithCGImage:imageRef];
CGImageRelease(imageRef);
resizableView = [[UIScrollView alloc] initWithFrame:CGRectMake(120,80,530,776)];
[resizableView setMaximumZoomScale:4.0];
[resizableView setMinimumZoomScale:0.5];
[resizableView setDelegate:self];
[resizableView addSubview:myImage];
[self.view addSubview:resizableView];
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
??
J'ai dit une bêtise ?
Cela fait une devinette partout.
C'est une tentative de ma part de te faire comprendre que "ne marche pas" est un bon moyen de ne pas obtenir de réponse. Tu nous demandes gentiment de deviner "ce qui ne marche pas".
De deux choses :
Merci également pour le manuel apple... je viens de passer quelques heures dessus... cela m'a beaucoup plus aidé que l'aide sur la classe UIScrollView /smile.png' class='bbc_emoticon' alt=':)' />
Je me rends compte que je ne code probablement pas au bon endroit....
Je codais directement mon UIScrollView dans le viewDidLoad de ViewController.m du coup c'est toute la classe qui était concernée ! (ce qui risque d'être gênant si je compte faire plusieurs instances)
je suppose que je devrais plutôt mettre mon code ailleurs... dans le main ? en créant une nouvelle classe qui hérite de ViewController ?
Sauriez vous où je pourrais trouver quelques exemples de programmation de ViewControler ?
Il y a bien AboutViewControllers mais ils ne précisent pas où se mets le code, ni a quoi il ressemble...
Cela n'a rien à voir avec la question, mais tu peux remplacer
par
Tu peux également initialiser ton UIImageView avec une UIImage mais ton implémentation permet de cropper l'image auparavant.
Je ne suis pas forcément d'accord avec toi David,
niveau optimisation ça peut être intéressent d'utiliser imageWithContentOfFile plutot que imageNamed puisque ce dernier va mettre l'image en cache, même si ton objet UIImage est détruit, mais pas le premier.
[font=arial, helvetica, sans-serif]Mais je tourne en rond /sad.png' class='bbc_emoticon' alt=':(' />[/font]
[font=arial,helvetica,sans-serif]Dans le ViewDidLoad de ViewConroler.m j'ai mis :[/font]
// Création de la ScrollView
resizableView = [[UIScrollView alloc] initWithFrame:CGRectMake(100,60,self.view.frame.size.width-100,self.view.frame.size.height-60)];
resizableView.contentSize = CGSizeMake(5300, 7760);
[resizableView setMaximumZoomScale:4.0];
[resizableView setMinimumZoomScale:0.5];
[resizableView setDelegate:self];
[resizableView addSubview:myImage];
[self.view addSubview:resizableView];
[font=arial, helvetica, sans-serif]Il semble que la ligne [resizableView setDelegate:self]; pose un soucis : j'ai le message Sending *const__strong' to parameter of incompatible type 'id<UIScrollViewDelegate>'[/font]
[font=arial, helvetica, sans-serif]Vous savez quel est le problème ? [/font]
[font=arial, helvetica, sans-serif]Je ne comprends pas le soucis... si je mets la ligne en commentaire, tout se lance correctement et j'arrive bien à scroller sur mon image... mais je voudrais maintenant pouvoir [/font][font="arial, helvetica, sans-serif"]zoomer.[/font]
[font=arial, helvetica, sans-serif]d'avance merci[/font]