Knoppen koppelen

Knoppen koppelen discussie in Ontwikkelen voor iOS forum; ( verdwijnt na registratie ) Ja app crasht. Dat is niet de bedoeling om het vanuit de AppDelegate te doen. In je AppDelegate handel je de delegate methods af van ...



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
  #21  
Oud 21 October 2010, 03:48
Geno's schermafbeelding
» iPhone 6 128GB (Goud) [FW: 9.0 beta]  [Jailbreak: Nee]
» iPad Air Wi-Fi 32GB (Zilver) [FW: 8.4]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 4 November 2009
Berichten: 251
Send a message via twitter to Geno
Standaard

Ja app crasht.

Dat is niet de bedoeling om het vanuit de AppDelegate te doen. In je AppDelegate handel je de delegate methods af van je applicatie en instantieer je de gehele applicatie.

Je knop moet vanuit je FirstViewController werken.

Ik heb een foutje gemaakt in de code. Ik ging ervan uit dat je je knop programmatisch aanmaakte, maar je voegt je knop toe in IB natuurlijk.

Dit is wat je moet veranderen in je code. Je FirstViewController laadt je met je FirstView.xib:

Code:
FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstView" bundle:nil];
Wat je hierna moet doen is in je FirstView.xib is de FirstView koppelen aan FirstViewController. Je klikt je File's Owner aan en je opent daarna Identity Inspector (CMD + 4). Dan ga je naar Class en kies je FirstViewController.
Daarna ga je naar je Connections Inspector (CMD + 2) en ga je een connectie aanmaken tussen je view outlet (vanuit File's Owner) en View.

Nu is je FirstView.xib gekoppeld aan je FirstViewController. Dit is nodig anders wordt je FirstView niet geladen.

Wat je ook kan doen is opnieuw een FirstViewController.m aanmaken, maar dan met de optie dat Xcode ook meteen je .xib view aanmaakt. Dan hoef je niks te koppelen.

Ok, nu plaats je een Round Rect Button op je FirstView en dan van je knop (touch up inside) naar File's Owner. Nu zie je alleen maar je pressedButton staan.
__________________
iPod touch v3 - iPod Nano 2011 - iMac 27" - iPhone 4S - iPad 2 - MacBook Air 11,6"
Gesponsorde links
Advertentie
Advertentie

  #22  
Oud 21 October 2010, 10:24
Zaankantertje75's schermafbeelding
» Ik heb geen iPhone  
» Mac OS X
 
Geregistreerd: 6 October 2010
Locatie: Zaandam
Berichten: 42
Send a message via twitter to Zaankantertje75
Standaard

Citaat:
Oorspronkelijk geplaatst door Geno Bekijk bericht
Ja app crasht.

Dat is niet de bedoeling om het vanuit de AppDelegate te doen. In je AppDelegate handel je de delegate methods af van je applicatie en instantieer je de gehele applicatie.

Je knop moet vanuit je FirstViewController werken.

Ik heb een foutje gemaakt in de code. Ik ging ervan uit dat je je knop programmatisch aanmaakte, maar je voegt je knop toe in IB natuurlijk.

Dit is wat je moet veranderen in je code. Je FirstViewController laadt je met je FirstView.xib:

Code:
FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstView" bundle:nil];
Wat je hierna moet doen is in je FirstView.xib is de FirstView koppelen aan FirstViewController. Je klikt je File's Owner aan en je opent daarna Identity Inspector (CMD + 4). Dan ga je naar Class en kies je FirstViewController.
Daarna ga je naar je Connections Inspector (CMD + 2) en ga je een connectie aanmaken tussen je view outlet (vanuit File's Owner) en View.

Nu is je FirstView.xib gekoppeld aan je FirstViewController. Dit is nodig anders wordt je FirstView niet geladen.

Wat je ook kan doen is opnieuw een FirstViewController.m aanmaken, maar dan met de optie dat Xcode ook meteen je .xib view aanmaakt. Dan hoef je niks te koppelen.

Ok, nu plaats je een Round Rect Button op je FirstView en dan van je knop (touch up inside) naar File's Owner. Nu zie je alleen maar je pressedButton staan.
hmm nice sinds ik de class firstview controller heb gedaan krijg ik wel me received actions! tx.

Die code die je stuurde.. die moet hier komen ?
(heb de nieuwe code er al ingezet)

Whizzie2AppDelegate.m
Code:
NSMutableArray *allViewControllers = [[NSMutableArray alloc] initWithCapacity:2];
	
	FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstView" bundle:nil];
	navigationController = [[UINavigationController alloc] initWithRootViewController:firstViewController];
	
	[allViewControllers addObject:navigationController];
	[navigationController release];
	[firstViewController release];
	
	// hiertussen moet je je tweede view aanmaken en toewijzen
	
	tabBarController.viewControllers = allViewControllers;
	
	[allViewControllers release];
	[window addSubview:tabBarController.view];
	[window makeKeyAndVisible];
Ik heb hem gebuild and run 'd maar als ik op de knop druk crashed ie weer.. terwijl ik de actie nu vanuit de FirstViewController.m laad.




TX

Laatst gewijzigd door Zaankantertje75; 21 October 2010 om 11:33.
  #23  
Oud 21 October 2010, 18:03
Geno's schermafbeelding
» iPhone 6 128GB (Goud) [FW: 9.0 beta]  [Jailbreak: Nee]
» iPad Air Wi-Fi 32GB (Zilver) [FW: 8.4]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 4 November 2009
Berichten: 251
Send a message via twitter to Geno
Standaard

Dat is nog de oude code. Dit is de nieuwe en moet idd in je AppDelegate.m:
(wel zorgen dat je ook een SecondViewController hebt aangemaakt. Daar hoef je niks in te zetten)

Code:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
	
	tabBarController = [[UITabBarController alloc] init];
	
	FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstView" bundle:nil];
	UINavigationController *navigationController = [[UINavigationController alloc] init];
	[navigationController pushViewController:firstViewController animated:NO];
	
	[firstViewController release];
	
	SecondViewController *secondViewController = [[SecondViewController alloc] init];
	UINavigationController *navController = [[UINavigationController alloc] init];
	[navController pushViewController:secondViewController animated:NO];

	[secondViewController release];
	
	tabBarController.viewControllers = [NSArray arrayWithObjects:navigationController, navController, nil];

        [navigationController release];
        [navController release];
	
    [window addSubview:tabBarController.view];
    [window makeKeyAndVisible];

    return YES;
}
  #24  
Oud 22 October 2010, 11:09
Zaankantertje75's schermafbeelding
» Ik heb geen iPhone  
» Mac OS X
 
Geregistreerd: 6 October 2010
Locatie: Zaandam
Berichten: 42
Send a message via twitter to Zaankantertje75
Thumbs up

Citaat:
Oorspronkelijk geplaatst door Geno Bekijk bericht
Dat is nog de oude code. Dit is de nieuwe en moet idd in je AppDelegate.m:
(wel zorgen dat je ook een SecondViewController hebt aangemaakt. Daar hoef je niks in te zetten)

Code:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
	
	tabBarController = [[UITabBarController alloc] init];
	
	FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstView" bundle:nil];
	UINavigationController *navigationController = [[UINavigationController alloc] init];
	[navigationController pushViewController:firstViewController animated:NO];
	
	[firstViewController release];
	
	SecondViewController *secondViewController = [[SecondViewController alloc] init];
	UINavigationController *navController = [[UINavigationController alloc] init];
	[navController pushViewController:secondViewController animated:NO];

	[secondViewController release];
	
	tabBarController.viewControllers = [NSArray arrayWithObjects:navigationController, navController, nil];

        [navigationController release];
        [navController release];
	
    [window addSubview:tabBarController.view];
    [window makeKeyAndVisible];

    return YES;
}

Gozer ! ik ben je eeuwig dankbaar!

Me knop doet het Alleen zou ik graag die tab-bar weg willen hebben. Want ik heb een eigen tabbar met 3 verschillende knoppen. En nu heb ik er 1 die er over heen gaat. en eigenlijk de zelfde functie heeft als mijn probeer knop.

Ik het geprobeerd door de zin hieronder als comment te schrijven

Code:
tabBarController.viewControllers = [NSArray arrayWithObjects:navigationController, navController, nil];
Maar als ik dan op me knop druk dan crashed me hele applicatie weer.

en dat moet ik niet hebben.

oh en ik krijg;
Local Decleretion of "" hides instance variable Datheb ik dan 5x

Maar ik kan hem wel laten lopen.


TX! Bram
  #25  
Oud 22 October 2010, 20:32
Geno's schermafbeelding
» iPhone 6 128GB (Goud) [FW: 9.0 beta]  [Jailbreak: Nee]
» iPad Air Wi-Fi 32GB (Zilver) [FW: 8.4]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 4 November 2009
Berichten: 251
Send a message via twitter to Geno
Standaard

Kan je een screenshot laten zien van je eigen tabbar met 3 knoppen?

Aangezien je via die code de tabbar programmatisch aanmaakt, hoef je de overige ViewControllers alleen aan de tabbars.viewcontrollers array toe te voegen. Je hoeft dat niet via Interface Builder te doen.

Die waarschuwing die je krijgt, betekent dat je 2 of meerde instance variabelen dezelfde naam hebt gegeven. Simpel op te lossen door elke variabele een andere naam te geven en/of elke variabele tijdig uit het geheugen vrij te maken.
  #26  
Oud 25 October 2010, 10:44
Zaankantertje75's schermafbeelding
» Ik heb geen iPhone  
» Mac OS X
 
Geregistreerd: 6 October 2010
Locatie: Zaandam
Berichten: 42
Send a message via twitter to Zaankantertje75
Standaard

Citaat:
Oorspronkelijk geplaatst door Geno Bekijk bericht
Kan je een screenshot laten zien van je eigen tabbar met 3 knoppen?

Aangezien je via die code de tabbar programmatisch aanmaakt, hoef je de overige ViewControllers alleen aan de tabbars.viewcontrollers array toe te voegen. Je hoeft dat niet via Interface Builder te doen.

Die waarschuwing die je krijgt, betekent dat je 2 of meerde instance variabelen dezelfde naam hebt gegeven. Simpel op te lossen door elke variabele een andere naam te geven en/of elke variabele tijdig uit het geheugen vrij te maken.
Ja natuurlijk hier heb je hem.

Ja want die moet ik wel zien en werkend hebben natuurlijk.

Schermafbeelding tabbar.jpg

Als je me uit zou kunnen leggen hoe ik die tabbar zichtbaar houd ben ik klaar met dit probleem ;p.

P.S.: Ik wil in probeerView.xib een navigatie hebben met tabbelen dus dat als ik op een cell klik dat ik dan video afkan spelen. dat kan ik toch gewoon doen in deze applicatie?

TX!

Laatst gewijzigd door Zaankantertje75; 25 October 2010 om 11:21.
  #27  
Oud 25 October 2010, 16:21
Geno's schermafbeelding
» iPhone 6 128GB (Goud) [FW: 9.0 beta]  [Jailbreak: Nee]
» iPad Air Wi-Fi 32GB (Zilver) [FW: 8.4]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 4 November 2009
Berichten: 251
Send a message via twitter to Geno
Standaard

Tabbar die je in interface builder hebt gemaakt, weg halen. Je maakt nu de tabbar programmatisch (via code) en daarmee regel je alles.

Als je een titel en plaatje wil doe je zo. Deze code zet je bij je overige code:

Code:
navigationController.tabBarItem.title = @"Home";

navigationController.tabBarItem.image = [UIImage imageNamed:@"plaatje.png"];
Ja, je probeerView kan gewoon een tabel bevatten. Hoe je dat doet, mag je zelf uitzoeken. Ik heb nu al een groot deel van je applicatie voor je gedaan, de rest mag je zelf uitvinden (anders leer je niks) of aan iemand anders vragen

Succes!
  #28  
Oud 25 October 2010, 16:40
Zaankantertje75's schermafbeelding
» Ik heb geen iPhone  
» Mac OS X
 
Geregistreerd: 6 October 2010
Locatie: Zaandam
Berichten: 42
Send a message via twitter to Zaankantertje75
Thumbs up

Citaat:
Oorspronkelijk geplaatst door Geno Bekijk bericht
Tabbar die je in interface builder hebt gemaakt, weg halen. Je maakt nu de tabbar programmatisch (via code) en daarmee regel je alles.

Als je een titel en plaatje wil doe je zo. Deze code zet je bij je overige code:

Code:
navigationController.tabBarItem.title = @"Home";

navigationController.tabBarItem.image = [UIImage imageNamed:@"plaatje.png"];
Ja, je probeerView kan gewoon een tabel bevatten. Hoe je dat doet, mag je zelf uitzoeken. Ik heb nu al een groot deel van je applicatie voor je gedaan, de rest mag je zelf uitvinden (anders leer je niks) of aan iemand anders vragen

Succes!


hmm ja ok begrijp ik!
Als je me dan alleen nog zou willen vertellen hoe ik er 3 van maak. wan tik heb er 3 gemaakt. maar ik krijg alleen de laatste.. en die daarnaast is opeens me probeerView.xib die eigenlijk via de knop probeer whizzie zou moeten gaan.

Maar is het niet gewoon mogelijk die tab-bar niet programmatisch te maken maar in IB? of doet de knop het dan niet meer?

in iedergeval bedankt !
  #29  
Oud 25 October 2010, 17:40
Geno's schermafbeelding
» iPhone 6 128GB (Goud) [FW: 9.0 beta]  [Jailbreak: Nee]
» iPad Air Wi-Fi 32GB (Zilver) [FW: 8.4]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 4 November 2009
Berichten: 251
Send a message via twitter to Geno
Standaard

De laatste? Heeft je laatste/derde view ook een NavigationController genaamd navigationController? Dat verklaart de waarschuwing die je krijgt over 'hides instance Variables'. Volgens mij gebruik je dezelfde naam voor verschillende NavigationControllers.

Bij de overige knoppen moet je de naam van de UINavigationController gebruiken, als je die gebruikt. Ik had de FirstViewController een navigationController gegeven als naam voor die NavigationController. Voor de overige views doe je hetzelfde.

Aangezien ik niet weet hoe je de rest van je ViewControllers en NavigationControllers hebt genoemd, kan ik geen code voor je neerzetten, maar het is heel simpel. Vul de rest in voor .tabBarItem.title en je krijgt de rest.

Je moet een keus maken, of alles programmatisch of alles via Interface builder. Je kan alles via Interface builder doen, maar dan moet je de meeste code weghalen en alles gaan verbinden via Interface builder. Zoals je zelf ziet, kan dat snel fout gaan, en ik ben zelf geen liefhebber van Interface builder.
Verder zou ik jezelf aanleren om alles zoveel mogelijk met code te doen. Met code kan je namelijk alles aanpassen wat je wil aan je user interface (uiterlijk van knoppen, bars, animaties, etc.). Met Interface Builder gaat dat maar beperkt.
  #30  
Oud 26 October 2010, 10:48
Zaankantertje75's schermafbeelding
» Ik heb geen iPhone  
» Mac OS X
 
Geregistreerd: 6 October 2010
Locatie: Zaandam
Berichten: 42
Send a message via twitter to Zaankantertje75
Standaard

Citaat:
Oorspronkelijk geplaatst door Geno Bekijk bericht
De laatste? Heeft je laatste/derde view ook een NavigationController genaamd navigationController? Dat verklaart de waarschuwing die je krijgt over 'hides instance Variables'. Volgens mij gebruik je dezelfde naam voor verschillende NavigationControllers.

Bij de overige knoppen moet je de naam van de UINavigationController gebruiken, als je die gebruikt. Ik had de FirstViewController een navigationController gegeven als naam voor die NavigationController. Voor de overige views doe je hetzelfde.

Aangezien ik niet weet hoe je de rest van je ViewControllers en NavigationControllers hebt genoemd, kan ik geen code voor je neerzetten, maar het is heel simpel. Vul de rest in voor .tabBarItem.title en je krijgt de rest.

Je moet een keus maken, of alles programmatisch of alles via Interface builder. Je kan alles via Interface builder doen, maar dan moet je de meeste code weghalen en alles gaan verbinden via Interface builder. Zoals je zelf ziet, kan dat snel fout gaan, en ik ben zelf geen liefhebber van Interface builder.
Verder zou ik jezelf aanleren om alles zoveel mogelijk met code te doen. Met code kan je namelijk alles aanpassen wat je wil aan je user interface (uiterlijk van knoppen, bars, animaties, etc.). Met Interface Builder gaat dat maar beperkt.
Ja, ik zal het wel even wat duidelijker uitleggen.

ik heb jou code toegepast:

Whizzie2AppDelegate.m

Code:
	FirstViewController *firstViewController = [[FirstViewController alloc] initWithNibName:@"FirstView" bundle:nil];
	UINavigationController *navigationController = [[UINavigationController alloc] init];
	[navigationController pushViewController:firstViewController animated:NO];
	
	navigationController.tabBarItem.title = @"Home";
	
	navigationController.tabBarItem.image = [UIImage imageNamed:@"h.png"];
	navigationController.tabBarItem.title = @"Over ons";
	
	navigationController.tabBarItem.image = [UIImage imageNamed:@"over2.png"];
	
	navigationController.tabBarItem.title = @"Contact";
	
	navigationController.tabBarItem.image = [UIImage imageNamed:@"c.png"];
	
	[firstViewController release];
Zoals je ziet is de laatste contact.

Schermafbeelding 2010-10-26 om 10.28.23.jpg

En dat is ook de enigste tabbar item dat ik zie.


want die linker.. linkt naar de pagina. waarmee ik eigenlijk via de knop probeer whizzie nu! moet heen linken.

Schermafbeelding 2010-10-26 om 10.28.32.jpg

en het grappige als ik er een tabel in zat dan crashed ie als ik op de knop druk.. maar via de tab-bar doet ie het gewoon maar dat moet ik nog even veranderen denk ik.

Maar als ik die item's dan uit eindelijk goed heb. linken ze dan ook naar die pagina? want volgens dit.. is contact de hoofdpagina. me hele tab-bar is uit verband gerukt nu.

hier nog een voorbeeld hoe hij is zonder dat de knop werkt:

Schermafbeelding 2010-10-26 om 10.28.53.jpg

thanks,

Bram
  #31  
Oud 26 October 2010, 15:24
Geno's schermafbeelding
» iPhone 6 128GB (Goud) [FW: 9.0 beta]  [Jailbreak: Nee]
» iPad Air Wi-Fi 32GB (Zilver) [FW: 8.4]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 4 November 2009
Berichten: 251
Send a message via twitter to Geno
Standaard

Citaat:
Oorspronkelijk geplaatst door Geno Bekijk bericht
De laatste? Heeft je laatste/derde view ook een NavigationController genaamd navigationController? Dat verklaart de waarschuwing die je krijgt over 'hides instance Variables'. Volgens mij gebruik je dezelfde naam voor verschillende NavigationControllers.
Dit zei ik de vorige keer. Je moet niet al je views dezelfde NavigationController naam geven. Elke aparte view die je aanspreekt via de TabBar heeft z'n eigen NavigationController. Als je die 2 andere een andere naam geeft, dan werkt je TabBar gewoon en gaan je waarschuwingen weg.

Ik zou me eens gaan verdiepen in object-georienteerd programmeren (en Obj-C)... Het is duidelijk dat je niet weet wat je aan het doen bent.
  #32  
Oud 27 October 2010, 12:14
Zaankantertje75's schermafbeelding
» Ik heb geen iPhone  
» Mac OS X
 
Geregistreerd: 6 October 2010
Locatie: Zaandam
Berichten: 42
Send a message via twitter to Zaankantertje75
Standaard

Citaat:
Oorspronkelijk geplaatst door Geno Bekijk bericht
Dit zei ik de vorige keer. Je moet niet al je views dezelfde NavigationController naam geven. Elke aparte view die je aanspreekt via de TabBar heeft z'n eigen NavigationController. Als je die 2 andere een andere naam geeft, dan werkt je TabBar gewoon en gaan je waarschuwingen weg.

Ik zou me eens gaan verdiepen in object-georienteerd programmeren (en Obj-C)... Het is duidelijk dat je niet weet wat je aan het doen bent.
Ja, klopt sins ik op dit forum zit ben ik begonnen met SDK. Dus ook xCode en IB. en Objective-C had nog nooit de taal C gebruikt dus dat is ook voor het eerst Ben zelf alleen handig met html.

ben wezen zoeken naar boeken maar meeste is engels talig.

Vandaar ook dat ik de essential training van simon allardice heb gevolgd via lynda.com
Reageren

Labels
knoppen, linken


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
iPhone 3GS knoppen mklkhanou iPhone algemeen 4 7 August 2010 17:59
Knoppen kwijt wiscel Archief 2 13 February 2010 20:35
In dfu zonder knoppen? jcpearl Archief 1 8 January 2010 19:25
knoppen werken niet!! rash1 iPhone algemeen 8 29 April 2009 12:47
Nes Knoppen veranderen daveku Jailbreak apps en thema's 0 13 March 2008 16:51

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 17:04.