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/)
-   -   CGRect mislukt (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/74632-cgrect-mislukt.html)

bluecola 10-10-10 20:44

CGRect mislukt
 
Hey allemaal,

Van iphoneexamples.com had ik het volgende stukje code gekopieerd:

Code:

       
CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 109.0f);
UIImageView *myImage = [[UIImageView alloc] initWithFrame:myImageRect];
[myImage setImage:[UIImage imageNamed:@"myImage.png"]];
myImage.opaque = YES; // explicitly opaque for performance
[self.view addSubview:myImage];
[myImage release];

Ik heb dat op deze manier verwerkt

xviewcontroller.h

Code:

#import <UIKit/UIKit.h>

@interface xViewController : UIViewController {
       
}

- (void) InitWithHardcode;

@end

xviewcontroller.m

Code:

#import "xViewController.h"

@implementation xViewController

- (void)InitWithHardcode{
CGRect myImageRect = CGRectMake(20.0f, 20.0f, 20.0f, 20.0f);
UIImageView *myImage = [[UIImageView alloc] initWithFrame:myImageRect];
[myImage setImage:[UIImage imageNamed:@"myImage.png"]];
myImage.opaque = YES; // explicitly opaque for performance
[self.view addSubview:myImage];
[myImage release];
}

- (BOOL)shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation {
       
        return        (interfaceOrientation == UIInterfaceOrientationLandscapeLeft);
}

Het enige wat anders is, is dat ik hem op landscape heb.
Het probleem is dat de afbeelding niet word weergeven in de simulator. De afbeelding heet wél myImage.png en staat in de map resources.
Daarbij had ik nog de vraag of dit de handigste manier is om een plaatje op het scherm te krijgen (je moet wel de coordinaten kunnen bepalen).
En ook nog waar dit voor dient : " myImage.opaque = YES; "

Alvast bedankt,
BlueCola!

Geno 13-10-10 14:43

Misschien even - (void)viewDidLoad{} method gebruiken

sukk1e 13-10-10 15:10

Wat Geno zegt en opaque is of je toelaat dat de afbeelding transparant is.

wubbe 14-10-10 15:19

Citaat:

Oorspronkelijk geplaatst door bluecola (Bericht 581748)
Daarbij had ik nog de vraag of dit de handigste manier is om een plaatje op het scherm te krijgen (je moet wel de coordinaten kunnen bepalen).

Ik zelf gebruik Interface builder. Dan kun je simpel een plaatje op een View plaatsen. Ik vind het makkelijker dan 'programmatisch'.

Probeer het eens.

bluecola 18-10-10 22:37

Hmmm, het probleem is dan iedere keer dat er op het scherm gedrukt word, het plaatje moet veranderen, en van positie moet veranderen. Ik denk dat dat niet mogelijk is bij een gewone UIView?

wubbe 18-10-10 23:25

(ik denk dat je dit bedoelt, anders moet je het iets beter uitleggen)

Veranderen van positie:
Code:

CGRect frame  = myImage.frame;
frame.origin.y += 100;  // 100 pixels lager
frame.origin.x += 100;  // 100 pixels naar rechts
[myImage setFrame:frame];



Alle tijden zijn GMT +2. Het is nu 05:06.