IBAction in een IBAction discussie in Ontwikkelen voor iOS forum; ( verdwijnt na registratie ) Beste, Ik ben bezig met een project waar ik eigenlijk als het ware een IBAction in een IBAction wil hebben. Een gebruiker kiest een afbeelding ...
|
Registreer | FAQ | Ledenlijst | Kalender | Berichten van vandaag | Zoeken |
#1
|
|||
|
|||
IBAction in een IBAction
Beste,
Ik ben bezig met een project waar ik eigenlijk als het ware een IBAction in een IBAction wil hebben. Een gebruiker kiest een afbeelding en word geladen, vervolgens kan de gebruiker ook een geluid luisteren wat hoort bij de afbeelding. Ik heb nu dit: Code:
- (IBAction)onButton { UIImage* basicImg = [UIImage imageNamed:@"Basic.png"]; basic.image = basicImg; [basicImg release]; UIImage *backImg = [UIImage imageNamed:@"PinkBack.png"]; background.image = backImg; [backImg release]; } Graag hoor ik of dit kan.
__________________
---- Med. iOS Developer ----
|
|
|
Gesponsorde links (verdwijnt na registratie)
|
#2
|
|||
|
|||
Iemand met een idee?
Ik kom er niet uit, het lijkt simpel maar de logica kan ik niet op een rij zetten. Ik zit al een paar dagen vast nu. Hulp is zeer bruikbaar. |
#3
|
|||
|
|||
Wat is je vraag nu precies.
Volledig onduidelijk wat je probleem nu is. als de vraag onduidelijk is dan hoef je weinig hulp te verwachten
__________________
Leon [iPhone- en Java ontwikkelaar] |
#4
|
|||
|
|||
Laat ik het zo vertellen.
*- Ik heb een scherm waar ik een afbeelding op zie. *- Vervolgens kan er een ander afbeelding gekozen worden. dmv IBAction, zie bovenstaand code. *- Hier wil ik een geluidsbestand aan toevoegen. dmv IBAction, ik weet juist hier niet hoe het moet (binnen dezelfde class). Dmv IBActions worden de afbeeldingen gewisseld. Ze verwijzen niet naar een ander class. Dus wanneer ik van afbeelding wissel en op een willekeurig tijd de geluidsbestand wil afspelen. Een IBAction (afspelen van geluid) in een IBAction (wisselen van afbeeldingen) Ik hoop dat het zo duidelijker is. |
#5
|
|||
|
|||
Nee, ik snap er niets van.
(Eerlijk gezegd twijfel ik aan jouw programmeer-skills) |
#6
|
|||
|
|||
|
#7
|
||||
|
||||
Misschien helpt het als je aangeeft waardoor die IBAction wordt getriggerd?
(welke gebruikersactie/event; geef het dan aub voor beide aan)
__________________
We are one, but we are not the same... Talk to each other! |
#8
|
|||
|
|||
Citaat:
De eerste IBAction laadt de afbeelding. De tweede IBAction speelt het geluid af, maar wel op opdracht van de gebruiker. Ik heb nu 1 class, blabla.h + blabla.m + blabla.xib. Hier voer ik de eerste opdracht uit, dus het tonen van een afbeelding. In dezelfde class wil ik dus bij (als de gebruiker een actie heeft gekozen, bijv foto2) een geluidje (dmv een ibaction), vervolgens kan de gebruiker een ander afbeelding kiezen (bijv. foto 15) en met een ander geluid. Hoop dat dit duidelijker is. |
#9
|
|||
|
|||
1. Maak een functie bv. playSound die het geluid afspeelt, in plaats van de IBAction
2. Roep in de IBAction die het geluid afspeelt playSound aan. 3. Roep in de IBAction die de afbeelding laadt ook playSound aan. Bedoel je dit? |
#10
|
|||
|
|||
Citaat:
Dat is een tweede keus eigenlijk van mij, omdat als de gebruiker de afbeelding laadt dat playSound ook gelijk wordt afgespeeld. Wat ik in gedachte heb is dat de gebruiker de playSound op eigen commando (dus niet tezamen met de afbeelding die geladen wordt) laat afspelen. |
#11
|
||||
|
||||
Nogmaals de vraag hoe de gebruiker dat commando om geluid af te spelen geeft...
(ik snap namelijk nog steeds niet waarom je denkt dat er een IBAction *in* een IBAction nodig is) |
#12
|
|||
|
|||
Citaat:
Code:
- (IBAction)playAT { NSString *path = [[NSBundle mainBundle] pathForResource:@"AT" ofType:@"mp3"]; NSLog(@"Path equals: %@", path); NSError *error; AVAudioPlayer *newAVAudioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:&error]; [self setAudioPlayer:newAVAudioPlayer]; [newAVAudioPlayer release]; audioPlayer.delegate = self; [audioPlayer prepareToPlay]; [audioPlayer setNumberOfLoops:0]; [audioPlayer play]; } |
#13
|
||||
|
||||
Sorry, een stukje code is geen antwoord op mijn vraag...
Nogmaals de vraag hoe de gebruiker dat commando om geluid af te spelen geeft... (welke UI interactie voert hij/zij uit; niet welke code jij daar aan plakt) |
#14
|
|||
|
|||
Ja precies hoe wil je dat de gebruiker het commando geeft om het geluid af te spelen?
Stel dat je simpelweg twee knoppen laat zien, één voor het wisselen van afbeeldingen en één voor het afspelen van een mogelijk bijbehorend geluid, dan is e.e.a. niet ingewikkeld meer. Dan kun je met twee IBActions het zaakje klaren; één wisselt foto's en de ander speelt een bijbehorend geluid (na controle van het plaatje). Ik zou zoals eerder gesuggereerd deze functies apart maken en aanroepen in de IBActions. Als je iets anders bedoelt dan is dat in ieder geval nog niet over gekomen... |
#15
|
|||
|
|||
Citaat:
Jornz, Bedankt voor je reactie. Ik heb het inderdaad zo aangepakt. Ik heb meerdere IBActions die elk een ander afbeelding bevat. Wat ik nu heb gedaan is bij elk afbeelding die ik selecteer een aantal IBActions verbergen. Dus, 10 IBActions aanmaken met geluid. 9 ervan verbergen en die ene tonen. Ik had een makkelijker manier verwacht (compacter. mijn vraag was dus hier naar) maar dit werkt ook. groetjes, |
#16
|
||||
|
||||
IBActions verbergen?
Wat bedoel je daarmee? (Wat heb je gedaan?) |
#17
|
|||
|
|||
Citaat:
Ik heb 10 geluiden dmv voor een ieder IBAction aangemaakt. Wanneer afbeelding 2 wordt geselecteerd, verberg ik de 9 IBActions (geluidknoppen) en toon ik alleen de IBAction die bij afbeelding 2 hoort. dmv. bijv. in een IBAction van een afbeelding bijv. - (IBAction)afb2 Code:
button1.hidden = YES; button2.hidden = NO; button3.hidden = YES; etc, etc. incl. code om afbeelding 2 te tonen Er zal vast een methode zijn om dit compacter aan te pakken?. |
#18
|
||||
|
||||
Je verbergt dus knoppen (en niet IBActions).
De gekozen oplossing vind ik weinig elegant. Waarom doe je niet wat JornZ voorstelt? (slechts 2 knoppen; niets te verbergen) Of begrijpen we je nog steeds niet? |
#19
|
|||
|
|||
Citaat:
Ik verberg inderdaad de knoppen (IBOutlets). Ik kan mijn probleem helaas niet goed te woord brengen. Maar uiteraard, bedankt voor de reacties en de hulp |
#20
|
|||
|
|||
Je kunt tags aan de knoppen toevoegen in Interface Builder en op basis hiervan selectieve acties uitvoeren.
Om vervolgens de knop te kunnen benaderen, moet je een sender meegeven. Uit de losse pols: Code:
- (IBAction) buttonPressed:(id)sender { UIButton *originatingButton = (UIButton *) sender; switch (originatingButton.tag) { case 0: NSLog (@"first button pressed"); default: NSLog (@"An unknown button has been pressed"); } |
Er zijn 1 actieve gebruikers die momenteel deze discussie bekijken (0 leden en 1 gasten) |
|
Soortgelijke discussies |
||||
Discussie | Auteur | Forum | Reacties | Laatste bericht |
IBAction voor een bepaalde tijd | iMidas | Ontwikkelen voor iOS | 2 | 07-05-11 02:16 |
Op zoek naar een app, die je napraat als een papegaai | Cheeems | Archief | 7 | 04-12-09 15:14 |
UITextField-button aan een IBAction koppelen | Jelle Ages | Ontwikkelen voor iOS | 7 | 17-10-09 18:44 |
Is het mogelijk bij een I-500 een sms abbonement te nemen | daaf | Odido (T-Mobile) | 9 | 25-05-09 17:34 |
|
|