Pozdrav korisniče,

Za pun pristup forumu odaberi jedno od ova dva dugmeta:

Login with Facebook Sign In with Google Sign In with OpenID Sign In with Twitter

In this Discussion

Ovaj web site se ne trudi biti kompatibilnim sa Internet Explorer web preglednikom. Sve se u njemu vidi, ali za puni dojam preporučamo neki pošteni web preglednik poput Safarija, Firefoxa ili Google Chromea.

Top Posters

Članovi (6485)

  • markoni
  • adriaguide
  • kiwwy
  • blue_devil
  • tr00pa
  • dkrt
  • chofizg
  • extremac
  • DCH
  • iLuka19
  • aida1956
  • ileo
  • xbubbakx
  • dannyded
  • ikdes1gn
  • croalex
  • mackkris
  • asafa972
  • applemanija
  • Dr Beast

Tko je online (6)

Uključeno je povezivanje korisničkih računa na glavnom sajtu i forumu. Ukoliko vidite ovu poruku i ne možete se logirati na forum potrebno je za pristup koristiti podatke s kojima ste se registrirali na glavni site. Ukoliko se još niste registrirali na glavnom sajtu potrebno se ponovo registrirati, a sustav će vas pri prvom logiranju prijaviti na vaš forumski account. Probleme i dojmove možete napisati ovdje ili poslati mail na mac.korisnik@mackorisnik.com
UINavigationController, UITabBarController, Views problem
  • Vec sam postao po nekim stranim forumima ali ameri pavaju pa cu ovdje i na jabucnjaku probat mozda se nadje kakva dobra duša...

    Znači šta pokušavam napraviti je jedan tab bar koji upravlja Viewovima u različitim divovima. Neki od tih tabova imaju svoj navigation kontroler, neki ne...
    IB fileovi i veze među njima su na slikama da ne duljim previše, a i neka netko pametniji od mene pregleda jesam li sve dobro povezao...

    http://lh6.ggpht.com/_8XT8E4pBlKk/S2_GsgxMbBI/AAAAAAAABgs/9QtaDfoimqk/Screen%20shot%202010-02-08%20at%209.00.16%20AM.png
    http://lh4.ggpht.com/_8XT8E4pBlKk/S2_Gs065RYI/AAAAAAAABgw/IwEZpIiRZ1Y/Screen%20shot%202010-02-08%20at%209.00.40%20AM.png
    http://lh4.ggpht.com/_8XT8E4pBlKk/S2_GtKUcRWI/AAAAAAAABg0/nOHT8_huV4Y/Screen%20shot%202010-02-08%20at%209.01.00%20AM.png
    http://lh5.ggpht.com/_8XT8E4pBlKk/S2_GtOF9zpI/AAAAAAAABg4/RQLhhwhgl24/Screen%20shot%202010-02-08%20at%209.01.29%20AM.png
    http://lh5.ggpht.com/_8XT8E4pBlKk/S2_H2D2JVAI/AAAAAAAABhA/hUpVkYRP808/s512/Screen%20shot%202010-02-08%20at%209.13.50%20AM.png

    Znači to sve funkcionira, tab bar upravlja i izmjenjuje pogleda, i pogledi se normalno iscrtavaju, uitableview na prvom pogledu, dohvaća tablesource i crta svoje ćelije, sve fercera nevjerojatno... Table data source je plist file sa slike 5... za sada je plist file a kasnije dolazi baza podataka sa istom strukturom...
    Kako se vidi iz strukture plist file-a ideja je da u rootu pokazem firstviewcontroller i napunim tablicu iz root data sourcea. Prilikom klika na pojedini red, vadim svu "djecu" iz tog reda i koristim ih kao datasource za isti view controler... Ovako koristim isti pogled rekurzivno i samo ih pusham jedan na drugi sve do trena kad vise nemam "djece". to bi znacilo da sam dosao do kraja (nema podkategorija znaci riječ je o proizvodu) i da prikažem singleview iliti ga opis pojedinog proizvoda.

    U ideji ovo sve štima, i u praksi djelomično radi...
    Znači događa se sljedeće:
    Dobijem root view, sa ispisanim svim root podatcima, svaki od njih klikom daje odgovarajući novi pogled (pusha na navigationcontroler) bilo da ima ili nema djece (znaci u ovoj fazi navigationcontroler dobro radi posao i distinkciju ima ili nema djece), ali kad probam u tom drugom pogledu pogledati "djecu" (pushati navigationcontroller još jednom) ništa se ne događa... U konzoli vidim da on radi uredno distinkciju između ima i nema djece (znači da se datasource tablice uredno učitao) ali ništa se ne događa...

    evo firstviewcontroller na pregled....

    #import "FirstViewController.h"
    #import "SingleViewController.h"
    #import "CrotuneDemoAppDelegate.h"
    #import "CellView.h"


    @implementation FirstViewController

    @synthesize tableDataSource,CurrentTitle,CurrentLevel,navigationController,reklama,mreklama,stringMreklama,stringReklama;



    // Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
    - (void)viewDidLoad {
    [super viewDidLoad];
    //

    if (CurrentLevel==0) {
    //start datasource
    NSArray *tempArray = [[NSArray alloc] init];
    self.tableDataSource=tempArray;
    [tempArray release];

    CrotuneDemoAppDelegate *AppDelegate = (CrotuneDemoAppDelegate *)[[UIApplication sharedApplication] delegate];
    self.tableDataSource = [AppDelegate.data objectForKey:@"Rows"];

    self.navigationItem.title = @"Categories";

    [mreklama setImage:[UIImage imageNamed:@"mkras.jpg"]];
    [reklama setImage:[UIImage imageNamed:@"kras.jpg"]];

    }
    else{

    self.navigationItem.title = CurrentTitle;
    [mreklama setImage:[UIImage imageNamed:stringMreklama]];
    [reklama setImage:[UIImage imageNamed:stringReklama]];

    }
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDelay:1];
    [UIView setAnimationDuration:1];
    [reklama setAlpha:0];
    [UIView commitAnimations];
    //NSLog(@"%@",tableDataSource);

    }


    //table delegate metods

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    return [self.tableDataSource count];

    }


    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"CellView";


    CellView *cell = (CellView *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil){

    NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"CellView" owner:nil options:nil];


    for(id currentObject in topLevelObjects)
    {
    if([currentObject isKindOfClass:[CellView class]])
    {
    cell = (CellView *)currentObject;
    break;
    }
    }

    }
    // Set up the cell...
    NSDictionary *dictionary =[self.tableDataSource objectAtIndex:indexPath.row];

    [[cell title] setText:[dictionary objectForKey:@"Title"]];
    [[cell background] setImage:[UIImage imageNamed:[dictionary objectForKey:@"Image"]]];

    return cell;
    }


    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {


    //Get the dictionary of the selected data source.
    NSDictionary *dictionary = [self.tableDataSource objectAtIndex:indexPath.row];

    //Get the children of the present item.
    NSArray *Children = [dictionary objectForKey:@"Children"];

    if([Children count] == 0) {
    SingleViewController *detailView =[[SingleViewController alloc] initWithNibName:@"SingleView" bundle:[NSBundle mainBundle]];

    //ovdje dodaj objekt sa podatcima od pojedinog subjekta
    [self.navigationController pushViewController:detailView animated:YES];
    [detailView release];

    }
    else {

    //Prepare to tableview.

    FirstViewController *nextView = [[FirstViewController alloc] initWithNibName:@"FirstView" bundle:[NSBundle mainBundle]];

    //Increment the Current View
    nextView.CurrentLevel += 1;

    //Set the title;
    nextView.CurrentTitle = [dictionary objectForKey:@"Title"];

    nextView.stringMreklama=[dictionary objectForKey:@"SAdd"];
    nextView.stringReklama=[dictionary objectForKey:@"LAdd"];

    nextView.tableDataSource = Children;

    //Push the new table view on the stack
    [self.navigationController pushViewController:nextView animated:YES];


    [nextView release];

    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    }
    }


    - (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

    // Release any cached data, images, etc that aren't in use.
    }

    - (void)viewDidUnload {
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
    }


    - (void)dealloc {
    [super dealloc];
    }

    @end


    molim pomoć.. glava boli više...
    Post edited by Unknown User at 2010-02-27 13:14:38
  • 2 Komentara sorted by
  • A gdje si definirao click (didSelectRow) na detailed kontroleru?
    Post edited by Unknown User at 1999-11-30 00:00:00
  • Sve rjeseno... jos onaj dan.. trebalo samo sljedecem kontroleru dati pokazivac na postojeci navigation controller... detailed kontroler nije jos tada bio bitan... hvala...
    Post edited by Unknown User at 1999-11-30 00:00:00