Knoppen koppelen

Knoppen koppelen discussie in Ontwikkelen voor iOS forum; ( verdwijnt na registratie ) Beste ontwikkelaars, Ik ben nieuw en heb net de iPhone SDK Essentials training van Simon Allardice gevolgd via Lynda.com Het enige wat hij niet behandeld ...



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 6 October 2010, 12:16
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 Knoppen koppelen

Beste ontwikkelaars,

Ik ben nieuw en heb net de iPhone SDK Essentials training van Simon Allardice gevolgd via Lynda.com

Het enige wat hij niet behandeld heeft is het gene wat ik nu nodig heb.


Ik heb een knop en die wil ik linken aan een andere soort applicatie.

dus van een tabbar naar een navigation, of kan dat niet?

dat is dus een tabbaar app moet maken en dan de navigatie er in moet schrijven?

Alvast bedankt voor de hulp
Advertentie
Advertentie Gesponsorde links (verdwijnt na registratie)

  #2  
Oud 13 October 2010, 15:19
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

Je bent niet heel duidelijk. Zou je het wat beter kunnen omschrijven?
__________________
iPod touch v3 - iPod Nano 2011 - iMac 27" - iPhone 4S - iPad 2 - MacBook Air 11,6"
  #3  
Oud 13 October 2010, 15:41
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
Je bent niet heel duidelijk. Zou je het wat beter kunnen omschrijven?
hmm ja sorry,

nou kijk ik heb een tab-bar gebaseerde applicatie met 3 tabs.

Op de eerste tab zit een knop met probeer whizzie.
Schermafbeelding 2010-10-13 om 15.35.10.jpg
die moet navigeren naar een andere XIB bestand.
Schermafbeelding 2010-10-13 om 15.35.30.jpg
Het liefst wil ik daar een navigatie gebaseerde applicatie met daar in filmpjes.

ik heb wat tutorials gevolgd. maar bleef hangen bij het interface koppelen aan de IBAction/IBOutlet. Als ik op me files owner druk staat de outlet/actie er niet tussen.


alvast bedankt.
  #4  
Oud 13 October 2010, 20:51
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

Als je een navigationbar wil gebruiken, dan moet je eerste view ook een navigationbar hebben. Je eerste view is namelijk de RootViewController die een NavigationController heeft.

Wat beter is, is om een ModalViewController te gebruiken. Hiermee verschuift er een complete view over je huidige view heen. Je kan ook de animatie veranderen en een flip animatie gebruiken. Hierdoor lijkt het alsof je applicatie omdraait naar de volgende view (zie Weer en Aandelen app als je iets gaat instellen).

Een ModalViewController werkt anders dan bv. een TabBarController of NavigationController.

Bij een ModalViewController moet je je eerste view als delegate aangeven (om notificaties te ontvangen). En je tweede view moet een delegate protocol bevatten, anders verdwijnt je Modal View niet meer als de gebruiker op een knop drukt om terug te gaan.

Als je snel wil zien hoe het werkt, kan je het beste een nieuw Project aanmaken in Xcode en dan Utility application template gebruiken. Daar kan je precies zien hoe je de @protocol delegates moet implementeren en hoe je je IBAction moet gebruiken.

Succes ermee.
  #5  
Oud 14 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
Als je een navigationbar wil gebruiken, dan moet je eerste view ook een navigationbar hebben. Je eerste view is namelijk de RootViewController die een NavigationController heeft.

Wat beter is, is om een ModalViewController te gebruiken. Hiermee verschuift er een complete view over je huidige view heen. Je kan ook de animatie veranderen en een flip animatie gebruiken. Hierdoor lijkt het alsof je applicatie omdraait naar de volgende view (zie Weer en Aandelen app als je iets gaat instellen).

Een ModalViewController werkt anders dan bv. een TabBarController of NavigationController.

Bij een ModalViewController moet je je eerste view als delegate aangeven (om notificaties te ontvangen). En je tweede view moet een delegate protocol bevatten, anders verdwijnt je Modal View niet meer als de gebruiker op een knop drukt om terug te gaan.

Als je snel wil zien hoe het werkt, kan je het beste een nieuw Project aanmaken in Xcode en dan Utility application template gebruiken. Daar kan je precies zien hoe je de @protocol delegates moet implementeren en hoe je je IBAction moet gebruiken.

Succes ermee.
Hmm, ja ok. maar kijk ik heb dus een applicatie gemaakt. in een tab bar app.

Daar moet je toch ook gewoon mee kunnen navigeren naar een navigatie?

ik wil deze code gebruiken maar die werkt denk niet bij een tab-br app.

.h file
@class ProbeerView;
@interface FirstViewController : UIViewController {
IBOutlet ProbeerView *probeerVC;
IBOutlet UITextField *txtName;

}
- (IBAction) pressedButton;

@property (nonatomic, retain) ProbeerView *probeerVC;



.m file
#import "ProbeerView.h"
@synthesize probeerVC;

- (IBAction) pressedButton {
[[self navigationController] pushViewControllerrobeerVC animated:YES];
}


Want bij de probeer view heb ik dus een soort van het zelfde gedaan maar dan geen push maar een pop zodat hij weg gaat.

En daar staat pressedButton wel in mijn received actions van IB.
maar bij de IB van me FirstViewController komt ie niet voor in de received actions.

Daar zit ik nu op vast.

in iedergeval bedankt voor je tijd!
  #6  
Oud 14 October 2010, 15:51
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

Het kan wel, je kan een UINavigationBar combineren met een UITabBar. Je mist nog een NavigationController.

Je roept [self navigationController] aan maar je huidige view bevat geen navigationController.
  #7  
Oud 14 October 2010, 16:01
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
Het kan wel, je kan een UINavigationBar combineren met een UITabBar. Je mist nog een NavigationController.

Je roept [self navigationController] aan maar je huidige view bevat geen navigationController.
ja, klopt daar kwam ik vanmiddag achter.

Maar als ik dan zijn view koppel aan firstviewcontroller dan krijg ik deze warning:

Warning:

Navigation Controller, id 32. Unsupported Configuration; The 'view' outlet of 'Navigation Controller' is connected to 'View', but this view controller is not intended to have its view set in this manner.

Sorry als ik erg dom overkom ofso. maar ben net begonnen
  #8  
Oud 14 October 2010, 16:05
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

Als je een navigationController hebt, moet je daar niks mee doen met Interface Builder.

Wat je wel kan doen is in in je FirstView.xib een UINavigationBar plaatsen. En ook in je ProbeerView.xib. Dan krijg je automatisch een backbutton in je ProbeerView om weer terug te gaan naar je vorige view.
  #9  
Oud 14 October 2010, 16:16
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
Als je een navigationController hebt, moet je daar niks mee doen met Interface Builder.

Wat je wel kan doen is in in je FirstView.xib een UINavigationBar plaatsen. En ook in je ProbeerView.xib. Dan krijg je automatisch een backbutton in je ProbeerView om weer terug te gaan naar je vorige view.
Ja, ok dat zei die man ook in die tutorial.

Dat heb ik geprobeerd. en gedaan.

Maar het probleem blijft dat hij nog steeds niet in mij received actions zichtbaar is. ik heb zelfs een navigation controller in me firstview gezet en dan gelinkt aan me view.

Als ik die knop op me tab-bar view connect aan die actie dan moet hij het doen..
  #10  
Oud 14 October 2010, 20:14
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

Ik heb het zelf ook even geprobeerd en het is wat lastiger dan ik dacht.

Ik heb het voor elkaar gekregen door Navigation Controllers aan te maken in de AppDelegate in deze method:

Code:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
En ze daar in een mutable array te stoppen en vervolgens de array te laden in mn TabBarController

Code:
NSMutableArray *allViewControllers = [[NSMutableArray alloc] initWithCapacity:2];
	
FirstViewController *firstViewController;
firstViewController = [[FirstViewController alloc] init];
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];

return YES;
Beter blijft toch om een ModalViewController te gebruiken vind ik.
  #11  
Oud 15 October 2010, 12:38
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
Ik heb het zelf ook even geprobeerd en het is wat lastiger dan ik dacht.

Ik heb het voor elkaar gekregen door Navigation Controllers aan te maken in de AppDelegate in deze method:

Code:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
En ze daar in een mutable array te stoppen en vervolgens de array te laden in mn TabBarController

Code:
NSMutableArray *allViewControllers = [[NSMutableArray alloc] initWithCapacity:2];
	
FirstViewController *firstViewController;
firstViewController = [[FirstViewController alloc] init];
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];

return YES;
Beter blijft toch om een ModalViewController te gebruiken vind ik.
Ja, ik merk het ik heb het even geprobeerd. Maar dat is voor mij denk ik te lastig bleef telkens met 1 error over. wat ik ook deed.

Maaris het niet simpeler? ik bedoel het enige wat er volgens mij hoeft te gebeuren is dat ik de actie pressed button moet receiven in me first view zoals hier. bij me probeer view

Schermafbeelding-2010-10-15-om-12.30.jpg

thanks voor je moeite anyway!
  #12  
Oud 15 October 2010, 20:09
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

Ik denk niet dat je een tabbarcontroller en navigationcontroller kan combineren op jouw manier. Maar zo te zien heb je nog geen tabbarcontroller.

Dan zou de code die je eerst had moeten werken (wel ook je navigationcontroller declareren in je AppDelegate en ook daar je navigationcontroller laden).

Verder deze method gebruiken voor je knop bij je first view

Code:
- (IBAction)pressedButton:(id)sender;
Als het goed is zou je het wel moeten zien nu.
  #13  
Oud 18 October 2010, 11:50
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
Ik denk niet dat je een tabbarcontroller en navigationcontroller kan combineren op jouw manier. Maar zo te zien heb je nog geen tabbarcontroller.

Dan zou de code die je eerst had moeten werken (wel ook je navigationcontroller declareren in je AppDelegate en ook daar je navigationcontroller laden).

Verder deze method gebruiken voor je knop bij je first view

Code:
- (IBAction)pressedButton:(id)sender;
Als het goed is zou je het wel moeten zien nu.
Ja, ik heb hem nu nog even gedaan.

Heb hem goed gekregen geen errors, maar wat ik dan krijg als ik me applicatie open. is een tab-bar over me bestaande tab-bar. en een navigatie bar.

Ik weet niet of die perse nodig is om te kunne navigeren naar een navigatie view?

Me tabbarcontroller zit in me mainView.xib daar heb ik ook de knoppen veranderd enzo.

maar.. die id sender moet ik in de .h zetten ?

Tx!

Bram
  #14  
Oud 18 October 2010, 15:12
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

Werkt je tabbar wel op die manier?

ja (id)sender ook in je header file zetten.

Je hebt altijd een navigation controller nodig voor een navigatie view. De navigation controller regelt alle views die gebruik maken van een navigatie view. Of de navigatiebar nu wel of niet zichtbaar is, dat maakt niet uit.
  #15  
Oud 18 October 2010, 15:19
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
Werkt je tabbar wel op die manier?

ja (id)sender ook in je header file zetten.

Je hebt altijd een navigation controller nodig voor een navigatie view. De navigation controller regelt alle views die gebruik maken van een navigatie view. Of de navigatiebar nu wel of niet zichtbaar is, dat maakt niet uit.
Nee, want die zwarte balk die is gecreeerd via de code. komt over me bestaande heen dus kan niet op de knoppen drukken.

Ok, nou ja dat zou dan maar moeten. Maar ik loop bij meerdere forums.

Iedereen zecht dat het zo wel zou moeten lukken maar snappen ook iet hellemaal waarom het niet lukt.

dus om terug te vallen op je model view.

Kan ik dat toepassen op deze overgang van tab-bar naar navigationbar view?

Want die tab-bar moet blijven om naar contact en over ons te kunnen navigeren.

Tx voor de informatie
  #16  
Oud 18 October 2010, 22:36
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

ModalViewController gebruik je bij ModalView en niet bij NavigationView. Wat je met een ModalViewController kan doen is dat er een complete view over je huidige view gaat.

Het lastige aan het gebruiken van een Tabbar en Navigationview is dat ze allebei een controller nodig hebben om views af te handelen.

1 daarvan is de RootController en in dit geval moet dat de TabBarController zijn. Dat is je RootController die je inlaadt in je AppDelegate class.
Hoe dit precies werkt, is de code die ik een paar posts terug heb neergezet.

Ik zou die TabBarController en Tabbar niet met de hand toevoegen in Interface Builder, want wat je nu hebt lijkt niet echt te werken. Ik zou ervoor kiezen om een nieuw project te starten in Xcode en een TabBar template te kiezen zodat je in ieder geval zeker weet dat je TabBar werkt.
  #17  
Oud 19 October 2010, 10:00
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
ModalViewController gebruik je bij ModalView en niet bij NavigationView. Wat je met een ModalViewController kan doen is dat er een complete view over je huidige view gaat.

Het lastige aan het gebruiken van een Tabbar en Navigationview is dat ze allebei een controller nodig hebben om views af te handelen.

1 daarvan is de RootController en in dit geval moet dat de TabBarController zijn. Dat is je RootController die je inlaadt in je AppDelegate class.
Hoe dit precies werkt, is de code die ik een paar posts terug heb neergezet.

Ik zou die TabBarController en Tabbar niet met de hand toevoegen in Interface Builder, want wat je nu hebt lijkt niet echt te werken. Ik zou ervoor kiezen om een nieuw project te starten in Xcode en een TabBar template te kiezen zodat je in ieder geval zeker weet dat je TabBar werkt.

Ok, ja ik heb dit project gestart als een tab-bar template. die tabs werken ook allemaal gewoon alleen die knop niet.. daar ben ik nu al zon 3 weken mee aan het kutten. De gozer van die tutorial die heeft een view based applicatie gemaakt.. dus ik dacht misschien lukt het daarom niet..

maar in de probeer.xib die ik bij heb gemaakt in het zelfde project. die pakt hem wel. Dat vind ik zo raar.
  #18  
Oud 19 October 2010, 22:44
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

Je moet eerst de TabBarController aanmaken. Je hebt een template gebruikt, dus dat zit in orde. Een TabBarController bevat een array aan ViewControllers, dus daarom dat je elke ViewController moet toevoegen aan je TabBarController.

Als je in FirstViewController een NavigationView wil, moet je een NavigationController aanmaken (en je FirstViewController toevoegen) en dat toevoegen aan je TabBarController.

Ik heb de code wat makkelijker gemaakt, wat ik eerst had geschreven. Dit is de manier zoals Apple het aanraadt om een TabBar en NavigationView te combineren. Ik heb de code speciaal herschreven voor jouw project. Als je deze code gaat gebruiken dan moet je zorgen dat je alle Tabbars en NavigationBars die je via Interface Builder hebt aangemaakt, weghaalt. Ook uit je ProbeerView. De TabbarController en NavigationController zorgen automatisch al voor de juiste userinterface-elementen. Op die manier voorkom je ook dat je interface elementen op elkaar stapelt.

Ik heb de code uit een eigen project gehaald, waar SecondViewController de 2e view is die je kan aanklikken op de TabBar. Bij deze code ga ik ervan uit dat je een TabBar Template hebt gebruikt, dus een TabBarController declaren en releasen hoef je niet zelf te doen. Dit is wat je in je AppDelegate moet zetten (net als de vorige keer):

Code:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
	
	tabBarController = [[UITabBarController alloc] init];
	
	FirstViewController *firstViewController = [[FirstViewController alloc] init];
	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;
}
In je FirstViewController.h zet je dit:

Code:
- (IBAction)pressedButton:(id)sender;
Daarna deze method toevoegen in interface builder (knop koppelen).

In je FirstViewController.m zet je dit. Je ProbeerViewController noem je ProbeerVC dacht ik:

Code:
- (IBAction)pressedButton:(id)sender;

	ProbeerVC *probeerViewController = [[ProbeerVC alloc] init];
	[self.navigationController pushViewController:probeerViewController animated:YES];
	[probeerViewController release];						
}
Daarna zou het moeten werken zoals het hoort.

Laatst gewijzigd door Geno; 19 October 2010 om 22:49.
  #19  
Oud 20 October 2010, 11:31
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
Je moet eerst de TabBarController aanmaken. Je hebt een template gebruikt, dus dat zit in orde. Een TabBarController bevat een array aan ViewControllers, dus daarom dat je elke ViewController moet toevoegen aan je TabBarController.

Als je in FirstViewController een NavigationView wil, moet je een NavigationController aanmaken (en je FirstViewController toevoegen) en dat toevoegen aan je TabBarController.

Ik heb de code wat makkelijker gemaakt, wat ik eerst had geschreven. Dit is de manier zoals Apple het aanraadt om een TabBar en NavigationView te combineren. Ik heb de code speciaal herschreven voor jouw project. Als je deze code gaat gebruiken dan moet je zorgen dat je alle Tabbars en NavigationBars die je via Interface Builder hebt aangemaakt, weghaalt. Ook uit je ProbeerView. De TabbarController en NavigationController zorgen automatisch al voor de juiste userinterface-elementen. Op die manier voorkom je ook dat je interface elementen op elkaar stapelt.

Ik heb de code uit een eigen project gehaald, waar SecondViewController de 2e view is die je kan aanklikken op de TabBar. Bij deze code ga ik ervan uit dat je een TabBar Template hebt gebruikt, dus een TabBarController declaren en releasen hoef je niet zelf te doen. Dit is wat je in je AppDelegate moet zetten (net als de vorige keer):

Code:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
	
	tabBarController = [[UITabBarController alloc] init];
	
	FirstViewController *firstViewController = [[FirstViewController alloc] init];
	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;
}
In je FirstViewController.h zet je dit:

Code:
- (IBAction)pressedButton:(id)sender;
Daarna deze method toevoegen in interface builder (knop koppelen).

In je FirstViewController.m zet je dit. Je ProbeerViewController noem je ProbeerVC dacht ik:

Code:
- (IBAction)pressedButton:(id)sender;

	ProbeerVC *probeerViewController = [[ProbeerVC alloc] init];
	[self.navigationController pushViewController:probeerViewController animated:YES];
	[probeerViewController release];						
}
Daarna zou het moeten werken zoals het hoort.
hmm dus eigenlijk me hele applicatie opnieuw maken maar dan zonder IB. alleen IB om te koppelen. ok ik ga het proberen...

hmm na toch wat gekut met errors enzo is het me gelukt. alleen is me achtergrond en me knoppen en zo weg .. maare ik bleef bij de stat koppelen weer vast staan.

Zou het een bug ofso kunnen zijn?? ik heb namenlijk meerdere dingen geprobeerd en bij alles komt er geen received action binnen.

In iedergeval bedankt voor je codes en je tijd!

Bram
  #20  
Oud 20 October 2010, 16:15
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
Exclamation

Citaat:
Oorspronkelijk geplaatst door Geno Bekijk bericht
Je moet eerst de TabBarController aanmaken. Je hebt een template gebruikt, dus dat zit in orde. Een TabBarController bevat een array aan ViewControllers, dus daarom dat je elke ViewController moet toevoegen aan je TabBarController.

Als je in FirstViewController een NavigationView wil, moet je een NavigationController aanmaken (en je FirstViewController toevoegen) en dat toevoegen aan je TabBarController.

Ik heb de code wat makkelijker gemaakt, wat ik eerst had geschreven. Dit is de manier zoals Apple het aanraadt om een TabBar en NavigationView te combineren. Ik heb de code speciaal herschreven voor jouw project. Als je deze code gaat gebruiken dan moet je zorgen dat je alle Tabbars en NavigationBars die je via Interface Builder hebt aangemaakt, weghaalt. Ook uit je ProbeerView. De TabbarController en NavigationController zorgen automatisch al voor de juiste userinterface-elementen. Op die manier voorkom je ook dat je interface elementen op elkaar stapelt.

Ik heb de code uit een eigen project gehaald, waar SecondViewController de 2e view is die je kan aanklikken op de TabBar. Bij deze code ga ik ervan uit dat je een TabBar Template hebt gebruikt, dus een TabBarController declaren en releasen hoef je niet zelf te doen. Dit is wat je in je AppDelegate moet zetten (net als de vorige keer):

Code:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  
	
	tabBarController = [[UITabBarController alloc] init];
	
	FirstViewController *firstViewController = [[FirstViewController alloc] init];
	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;
}
In je FirstViewController.h zet je dit:

Code:
- (IBAction)pressedButton:(id)sender;
Daarna deze method toevoegen in interface builder (knop koppelen).

In je FirstViewController.m zet je dit. Je ProbeerViewController noem je ProbeerVC dacht ik:

Code:
- (IBAction)pressedButton:(id)sender;

	ProbeerVC *probeerViewController = [[ProbeerVC alloc] init];
	[self.navigationController pushViewController:probeerViewController animated:YES];
	[probeerViewController release];						
}
Daarna zou het moeten werken zoals het hoort.
ik heb iets anders geprobeerd ik heb in Interface builder bij classes de AppDelegate naast de files owner gezet.

Schermafbeelding 2010-10-20 om 16.11.54.jpg

en de code's die ik in de firstviewcontroller.h/m heb in de appdelegate.h/m gezet.

Toen ontving Interface Builder wel de received action; pressedButton.

Dus ik heb die gelinkt. En als ik dus nu op me knop klik dan stopt me applicatie er mee.. dus hij crashed lijkt mij?..

Is dat logisch? of is dat ook op een manier op te lossen?

Thanks!
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 00:29.