//

Probleem plaatsen meerdere UIImageViews

Probleem plaatsen meerdere UIImageViews discussie in Ontwikkelen voor iOS forum; ( verdwijnt na registratie ) Ik maak langzaam vorderingen met het leren van Objective-C en mijn eerste app. Ik heb loop nu echter tegen een probleem aan waardoor ik al ...



Ga terug   iPhone, iPod touch, iPad en Apple TV forum > Development > Ontwikkelen voor iOS
Wachtwoord vergeten? Registreren!
Registreer FAQ Ledenlijst Kalender Zoeken Berichten van vandaag Markeer forums als gelezen
  #1  
Oud 16-10-08, 17:06
rderuiter rderuiter is offline
• iOS 2.2
• Besturingssysteem: MacOS X
 
Geregistreerd: Sep 2008
Berichten: 23
Standaard Probleem plaatsen meerdere UIImageViews

Ik maak langzaam vorderingen met het leren van Objective-C en mijn eerste app. Ik heb loop nu echter tegen een probleem aan waardoor ik al een aantal dagen geen vorderingen meer heb gemaakt.

Ik wil graag een soort dambord maken. Hiervoor had ik in eerste instantie een UIView die via drawRect een x aantal vierkantjes tekende. Deze UIView werd gecentreerd geplaatst en ik zag dat het goed was.

Nu moeten de UIView "blokjes" vervangen worden door UIImageView instanties aangezien ik daarmee simpel een plaatje kan gebruiken en animeren, etc.
Ik probeer nu eerst 2x2 blokjes gecentreerd op het scherm te tekenen, ik zie er echter maar 1; linksboven @0,0.
Wat ik geprobeerd heb is UIView gebruiken ipv UIImageView, de bounds instellen van elk blokje, elk blokje een nieuw frame geven, niets van dit alles hielp. De coordinaten van de bounds en frames zijn 100% zeker weten goed; ik printf ze steeds en controleer de uitvoer.

Voor de duidelijkheid zie het plaatje hieronder. Het grote witte vlak is mijn RootView, daarop word centraal een klein subview geplaatst welke ik hier blauw gekleurd heb. Het enige dat blokje dat nu zichtbaar word, is die linksbovenin het blauw vak.

Enige hulp zou zeer worden gewaardeerd

edit:
Ik heb nu geprobeerd de UIImageViews als instance variabelen te gebruiken, net zoals het DambordView op het RootView zeg maar. Dan worden de plaatjes wel netjes geplaatst, maar ik ben niet van plan 64 plaatjes er hard in te coden. Ik wil ze gaan bijhouden in een array, Dictionary oid.

Laatst gewijzigd door rderuiter; 16-10-08 om 18:00.
Advertentie
Advertentie Gesponsorde links (verdwijnt na registratie)

  #2  
Oud 16-10-08, 18:34
Pixxa Pixxa is offline
• iOS 2.1
• Besturingssysteem: MacOS X
 
Geregistreerd: Sep 2007
Berichten: 104
Standaard

Quartz niet wat je zoekt?
  #3  
Oud 16-10-08, 18:37
rderuiter rderuiter is offline
• iOS 2.2
• Besturingssysteem: MacOS X
 
Geregistreerd: Sep 2008
Berichten: 23
Standaard

Eeh, geen idee. Hoe bedoel je precies?
  #4  
Oud 16-10-08, 23:10
Pixxa Pixxa is offline
• iOS 2.1
• Besturingssysteem: MacOS X
 
Geregistreerd: Sep 2007
Berichten: 104
Standaard

Met Quartz zou je toch een schaakbord moeten maken. Vraag me niet hoe

Quartz verzorgd de 2D
  #5  
Oud 16-10-08, 23:12
rderuiter rderuiter is offline
• iOS 2.2
• Besturingssysteem: MacOS X
 
Geregistreerd: Sep 2008
Berichten: 23
Standaard

Ik weet dat Quartz iets dergelijks als de 2d door hardware versnelde toolkit is van Apple, maar daar koop ik niets voor
Wat ik wil is vrij simpel en moet zeker mogelijk zijn met UIView code lijkt me.
  #6  
Oud 17-10-08, 09:52
gekkepietje gekkepietje is offline
• iOS 4.1
• Besturingssysteem: Windows
 
Geregistreerd: Sep 2008
Berichten: 153
Standaard

Het is een beetje moeilijk om aan te geven wat er fout gaat in je code, omdat er honderd dingen fout kunnen zijn waardoor het niet werkt. Als je nu eens alles uit je code haalt wat hier niets mee te maken heeft, en het dan nog eens probeert. Lukt het dan nog niet, dan kun je je code ergens online zetten zodat we kunnen zien wat je precies doet.

Anyway, het is inderdaad mogelijk dit te doen met UIImageViews. Je maakt voor een 2x2 bord 4 UIImageViews aan en die voeg je toe aan je hoofd-View. Dan zet je de center property van die views om ze op de juiste plaats te positioneren.

Zoiets in je ViewController:

Code:
- (void)viewDidLoad
{
    [super viewDidLoad];

    UIImage* poppetjeImage = [UIImage imageNamed:@"Poppetje.png"];
    UIImageView* poppetjeView = [[UIImageView alloc] initWithImage:poppetjeImage];
    self.poppetje = poppetjeView;
    [poppetjeView release];

    [self.view addSubview:poppetje];

    poppetje.center = CGPointMake(100, 100);

    // en dat doe je dan voor al je UIImageViews
}
In de .h staat iets als:

Code:
@interface MijnViewController : UIViewController
{
    UIImageView* poppetje;
}

@property (nonatomic, retain) UIImageView* poppetje;
(Het heet hier poppetje omdat het uit een spelletje van mij komt.)

P.S. Ik zie het plaatje niet dat je bedoelt in je eerste post.
  #7  
Oud 17-10-08, 16:05
rderuiter rderuiter is offline
• iOS 2.2
• Besturingssysteem: MacOS X
 
Geregistreerd: Sep 2008
Berichten: 23
Standaard

Citaat:
Oorspronkelijk geplaatst door gekkepietje Bekijk bericht

Code:
@interface MijnViewController : UIViewController
{
    UIImageView* poppetje;
}
Ik ben er inmiddels, half per ongeluk achtergekomen. Het declareren van het UIImageview zoals hierboven blijkt noodzakelijk om het te kunnen gebruiken. Ik maakte ze gewoon ter plekke aan dus niet als instance variabele.
Weer iets geleerd i guess

P.S. Ik zie het plaatje niet dat je bedoelt in je eerste post.
Inderdaad, plaatje mee vergeten te posten, oeps

Toch bedankt voor het meedenken.
Reageren



Er zijn 1 actieve gebruikers die momenteel deze discussie bekijken (0 leden en 1 gasten)

 
Discussietools
Weergave

Soortgelijke discussies

Discussie Auteur Forum Reacties Laatste bericht
Simkaart plaatsen Atma iPhone algemeen 4 19-08-10 23:36
'Plaatsen' in foto's verdwenen Olafski iPad algemeen 1 19-08-10 15:58
Windows: Foto's plaatsen roachford iTunes 2 18-06-10 13:03
Iconen willekeurig plaatsen Peter141080 Archief 3 16-10-09 11:35

Regels voor berichten
Je mag geen nieuwe discussies starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit
Trackbacks are Aan
Pingbacks are Aan
Refbacks are Uit



Alle tijden zijn GMT +2. Het is nu 13:51.