//

IBAction in een IBAction

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 ...



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

Reageren

 

Discussietools Weergave
  #1  
Oud 04-04-12, 01:43
gobelz gobelz is offline
• iOS 5.1.1
• 5.1.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Mar 2008
Berichten: 95
Standaard 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];
    
}
Ik wil dus aan dit gedeelte een IBAction toevoegen waarbij de gebruiker wanneer hij/zij dat wil een geluidje kan afspelen.

Graag hoor ik of dit kan.
__________________
---- Med. iOS Developer ----
Advertentie
Advertentie Gesponsorde links (verdwijnt na registratie)

  #2  
Oud 05-04-12, 11:42
gobelz gobelz is offline
• iOS 5.1.1
• 5.1.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Mar 2008
Berichten: 95
Standaard

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  
Oud 06-04-12, 11:55
wubbe wubbe is offline
• iOS 5.0
• 5.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Oct 2008
Locatie: Haarlem
Berichten: 348
Standaard

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  
Oud 06-04-12, 12:34
gobelz gobelz is offline
• iOS 5.1.1
• 5.1.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Mar 2008
Berichten: 95
Standaard

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  
Oud 06-04-12, 12:44
wubbe wubbe is offline
• iOS 5.0
• 5.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Oct 2008
Locatie: Haarlem
Berichten: 348
Standaard

Nee, ik snap er niets van.

(Eerlijk gezegd twijfel ik aan jouw programmeer-skills)
  #6  
Oud 06-04-12, 12:51
gobelz gobelz is offline
• iOS 5.1.1
• 5.1.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Mar 2008
Berichten: 95
Standaard

Citaat:
Oorspronkelijk geplaatst door wubbe Bekijk bericht
Nee, ik snap er niets van.

(Eerlijk gezegd twijfel ik aan jouw programmeer-skills)

Wat is dit nou voor een reactie. Gaan we nu ook nog eens twijfelen aan programmeer-skills, terwijl er iets anders gevraagd word in de topic :S

Raar hoor.
  #7  
Oud 06-04-12, 16:13
XIII's schermafbeelding
XIII XIII is offline
iPhone(club) Guru
• iOS 16.1
• iPadOS 16.1
• Besturingssysteem: macOS
 
Geregistreerd: Jul 2009
Berichten: 10.082
Standaard

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  
Oud 06-04-12, 18:19
gobelz gobelz is offline
• iOS 5.1.1
• 5.1.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Mar 2008
Berichten: 95
Standaard

Citaat:
Oorspronkelijk geplaatst door XIII Bekijk bericht
Misschien helpt het als je aangeeft waardoor die IBAction wordt getriggerd?

(welke gebruikersactie/event; geef het dan aub voor beide aan)

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  
Oud 06-04-12, 18:29
wubbe wubbe is offline
• iOS 5.0
• 5.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Oct 2008
Locatie: Haarlem
Berichten: 348
Standaard

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  
Oud 06-04-12, 18:42
gobelz gobelz is offline
• iOS 5.1.1
• 5.1.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Mar 2008
Berichten: 95
Standaard

Citaat:
Oorspronkelijk geplaatst door wubbe Bekijk bericht
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?

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  
Oud 07-04-12, 11:31
XIII's schermafbeelding
XIII XIII is offline
iPhone(club) Guru
• iOS 16.1
• iPadOS 16.1
• Besturingssysteem: macOS
 
Geregistreerd: Jul 2009
Berichten: 10.082
Standaard

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  
Oud 07-04-12, 11:36
gobelz gobelz is offline
• iOS 5.1.1
• 5.1.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Mar 2008
Berichten: 95
Standaard

Citaat:
Oorspronkelijk geplaatst door XIII Bekijk bericht
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)
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  
Oud 07-04-12, 13:20
XIII's schermafbeelding
XIII XIII is offline
iPhone(club) Guru
• iOS 16.1
• iPadOS 16.1
• Besturingssysteem: macOS
 
Geregistreerd: Jul 2009
Berichten: 10.082
Standaard

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  
Oud 10-04-12, 11:06
JornZ JornZ is offline
• iOS 6.1.3
• 6.1.2
• Besturingssysteem: Windows
 
Geregistreerd: Sep 2010
Berichten: 364
Standaard

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  
Oud 10-04-12, 11:59
gobelz gobelz is offline
• iOS 5.1.1
• 5.1.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Mar 2008
Berichten: 95
Standaard

Citaat:
Oorspronkelijk geplaatst door JornZ Bekijk bericht
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...

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  
Oud 10-04-12, 21:07
XIII's schermafbeelding
XIII XIII is offline
iPhone(club) Guru
• iOS 16.1
• iPadOS 16.1
• Besturingssysteem: macOS
 
Geregistreerd: Jul 2009
Berichten: 10.082
Standaard

IBActions verbergen?

Wat bedoel je daarmee? (Wat heb je gedaan?)
  #17  
Oud 10-04-12, 21:20
gobelz gobelz is offline
• iOS 5.1.1
• 5.1.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Mar 2008
Berichten: 95
Standaard

Citaat:
Oorspronkelijk geplaatst door XIII Bekijk bericht
IBActions verbergen?

Wat bedoel je daarmee? (Wat heb je gedaan?)
Stel ik heb 10 afbeeldingen die ik afzonderlijk van elkaar wil tonen op basis van een IBAction, een actie die de gebruiker geeft.
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
Een hele omweg als je het mij vraagt. Maar ik kon niks anders bedenken dan dit
Er zal vast een methode zijn om dit compacter aan te pakken?.
  #18  
Oud 10-04-12, 21:39
XIII's schermafbeelding
XIII XIII is offline
iPhone(club) Guru
• iOS 16.1
• iPadOS 16.1
• Besturingssysteem: macOS
 
Geregistreerd: Jul 2009
Berichten: 10.082
Standaard

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  
Oud 10-04-12, 22:04
gobelz gobelz is offline
• iOS 5.1.1
• 5.1.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: Mar 2008
Berichten: 95
Standaard

Citaat:
Oorspronkelijk geplaatst door XIII Bekijk bericht
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?
Ik heb meerdere knoppen in 1 class.

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  
Oud 05-05-12, 23:17
glitch glitch is offline
• iOS 5.1
• 5.1
• Besturingssysteem: Mac OS X
 
Geregistreerd: May 2012
Berichten: 9
Standaard

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");
  }
}
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
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

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 20:28.