iCulture forum | iPhone, iPad,  iPod touch, Apple TV en iOS

iCulture forum | iPhone, iPad, iPod touch, Apple TV en iOS (https://forum.iculture.nl/)
-   Ontwikkelen voor iOS (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/)
-   -   iPhone contact app (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/94336-iphone-contact-app.html)

Wesleyyyy 29-06-11 19:10

iPhone contact app
 
Hallo allemaal!

Ik ben bezig met een App, alleen nu heb ik een UITableView nodig met allemaal namen van a/z en rechts daarvan staan alle letters.

Hetzelfde als de contacten op je iPhone kan iemand dit voor mij maken?
Of heeft iemand een tutorial of download voor mij?

XIII 29-06-11 20:03

Dat is toch standaardfunctionaliteit van UITableView? (secties)

http://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableView_Class/Reference/Reference.html

Wesleyyyy 29-06-11 20:20

Bedankt, alleen snap ik jouw link niet. Er staan geen voorbeeld code's of ben ik nu blind?

Jeroen0704 29-06-11 21:47

FF google gebruiken op "indexed uitableview example" en ik heb een tutorial gevonden hoe je dit moet maken. Ik denk dat je hier wel iets aan hebt;)

Wesleyyyy 29-06-11 22:28

Ahh, echt bedankt man! Nu kan ik weer vooruit ik wist niet precies wat ik moest googlen.
Bedankt!

EDIT: Het is alleen wel jammer dat het niet werkt via een dictionary.

JornZ 30-06-11 17:11

Je kan als je je data in een dictionary hebt toch heel gemakkelijk dat als bron gebruiken voor de data...

Simpelweg in de tableView:cellForRowAtIndexPath method de dictionary gebruiken om je cells te vullen met data.

DJ14 30-06-11 18:26

@JornZ het gaat niet om het vullen van een tableview, maar om een type tableview (dezelfde als in de "Contacten" app op je iphone)

Whacko 30-06-11 18:48

mwah... als je een dictionary maakt met de volgende structuur, kan je aardig ver komen:

Code:

-root {
---sectionTitles = @"abcde...."
---arrayOfSectionHeaders {
------header1
------header2
}
---arrayOfContentItems {
------item1
------item2
---}
}

kan je ook in een plist doen, en gelijk in een dictionary inlezen :p

JornZ 01-07-11 10:51

Citaat:

Oorspronkelijk geplaatst door DJ14 (Bericht 687516)
@JornZ het gaat niet om het vullen van een tableview, maar om een type tableview (dezelfde als in de "Contacten" app op je iphone)

Ik reageerde op de opmerking van Wesleyyy dat hij het jammer vond dat het niet werkt "via een dictionary", ik snap ook wel dat hij vraagt naar een tableview met index in zijn OP...

Een handige structuur is volgens mij een juist een dictionary als databron voor een dergelijke tabel. Als je de dictionary vult met keys "ABCDEF..Z" en onder elke key een array hangt met strings dan heb je een gemakkelijk uitgangspunt voor het vullen van je cells en index.

Wesleyyyy 02-07-11 10:46

Ik heb een site gevonden alleen het werkt niet. Link.

Weet iemand wat hier aan fout is? Want als je bijvoorbeeld een derde dictionary er bij maakt en je gaat naar 3 dan gaat hij weer naar 1.

XIII 02-07-11 12:04

Citaat:

Oorspronkelijk geplaatst door Wesleyyyy (Bericht 687960)
Weet iemand wat hier aan fout is? Want als je bijvoorbeeld een derde dictionary er bij maakt en je gaat naar 3 dan gaat hij weer naar 1.

Kun je misschien je code (in quotes) posten?

Deze zin is wel erg vaag...

Wesleyyyy 02-07-11 19:43

RootViewController.m
 
RootViewController.m

Citaat:

- (void)viewDidLoad {
[super viewDidLoad];

//Initialize the array.
listOfItems = [[NSMutableArray alloc] init];

NSArray *countriesToLiveInArray = [NSArray arrayWithObjects:@"AA", @"AB", @"AC", @"AD", @"AE", @"AF", @"AG", @"AH", nil];
NSDictionary *countriesToLiveInDict = [NSDictionary dictionaryWithObject:countriesToLiveInArray forKey:@"Countries"];

NSArray *countriesLivedInArray = [NSArray arrayWithObjects:@"BA", @"BB", @"BC", @"BD", @"BE", @"BF", @"BG", @"BH", nil];
NSDictionary *countriesLivedInDict = [NSDictionary dictionaryWithObject:countriesLivedInArray forKey:@"Countries"];

NSArray *countriesToLiveInArrayy = [NSArray arrayWithObjects:@"CA", @"CB", @"CC", @"CD", @"CE", @"CF", @"CG", @"CH", nil];
NSDictionary *countriesToLiveInDicti = [NSDictionary dictionaryWithObject:countriesToLiveInArrayy forKey:@"Countries"];

[listOfItems addObject:countriesToLiveInDict];
[listOfItems addObject:countriesLivedInDict];[listOfItems addObject:countriesToLiveInDicti];

//Initialize the copy array.
copyListOfItems = [[NSMutableArray alloc] init];

//Set the title
self.navigationItem.title = @"Countries";

//Add the search bar
self.tableView.tableHeaderView = searchBar;
searchBar.autocorrectionType = UITextAutocorrectionTypeNo;

searching = NO;
letUserSelectRow = YES;
}
Citaat:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {

if (searching)
return 1;
else
return[listOfItems count];
}

// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

if (searching)
return [copyListOfItems count];
else {

//Number of rows it should expect should be based on the section
NSDictionary *dictionary =[listOfItems objectAtIndex:section];
NSArray *array = [dictionary objectForKey:@"Countries"];
return [array count];
}
}

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {

if(searching)
return @"Search Results";

if(section == 0)
return @"A";
if(section == 1)
return @"B";
if(section == 2)
return @"C";
}

- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView {

if(searching)
return nil;

NSMutableArray *tempArray = [[NSMutableArray alloc] init];
[tempArray addObject:@"A"];
[tempArray addObject:@"B"];
[tempArray addObject:@"C"];
[tempArray addObject:@"D"];
[tempArray addObject:@"E"];
[tempArray addObject:@"F"];
[tempArray addObject:@"G"];
[tempArray addObject:@"H"];
[tempArray addObject:@"I"];
[tempArray addObject:@"J"];
[tempArray addObject:@"K"];
[tempArray addObject:@"L"];
[tempArray addObject:@"M"];
[tempArray addObject:@"N"];
[tempArray addObject:@"O"];
[tempArray addObject:@"P"];
[tempArray addObject:@"Q"];
[tempArray addObject:@"R"];
[tempArray addObject:@"S"];
[tempArray addObject:@"T"];
[tempArray addObject:@"U"];
[tempArray addObject:@"V"];
[tempArray addObject:@"W"];
[tempArray addObject:@"X"];
[tempArray addObject:@"Y"];
[tempArray addObject:@"Z"];

return tempArray;
}

- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index {

if(searching)
return -1;

return index % 2;
}

XIII 02-07-11 20:52

3 modulo 2 is toch ook 1?

Begrijp je de code die je bij elkaar gesprokkeld hebt wel?

Wesleyyyy 02-07-11 21:08

Ik heb het zo gedownload ik heb alleen dit aangepast:

Citaat:

NSArray *countriesToLiveInArrayy = [NSArray arrayWithObjects:@"CA", @"CB", @"CC", @"CD", @"CE", @"CF", @"CG", @"CH", nil];
NSDictionary *countriesToLiveInDicti = [NSDictionary dictionaryWithObject:countriesToLiveInArrayy forKey:@"Countries"];

if(section == 0)
return @"A";
if(section == 1)
return @"B";
if(section == 2)
return @"C";
En nee, ik snap er inderdaad niks van.

wubbe 03-07-11 00:56

Citaat:

Oorspronkelijk geplaatst door Wesleyyyy (Bericht 688074)
En nee, ik snap er inderdaad niks van.

Kun je programmeren? Zo nee, wat ben je dan aan het doen?

Wesleyyyy 03-07-11 11:22

Nee ik kan niet programmeren, maar ik moet voor iemand een App maken. En daarom ben ik op internet tutorials en codes aan het zoeken om verder te komen.

XIII 03-07-11 12:55

Eerlijk gezegd denk ik dat een App maken niet lukt als je niet kunt programmeren...

Maar desondanks succes!

Wesleyyyy 03-07-11 14:26

Ja ik weet het, maar ik blijf het gewoon proberen.

Toch bedankt.

DJ14 03-07-11 16:59

Citaat:

Oorspronkelijk geplaatst door Wesleyyyy (Bericht 688214)
Ja ik weet het, maar ik blijf het gewoon proberen.

Heel goed. Doorzettingsvermogen is goed. Zo ben ik ook begonnen, met gewoon een app te maken zonder al te veel kennis :d

Wesleyyyy 04-07-11 12:05

Citaat:

Oorspronkelijk geplaatst door DJ14 (Bericht 688242)
Heel goed. Doorzettingsvermogen is goed. Zo ben ik ook begonnen, met gewoon een app te maken zonder al te veel kennis :d

Haha, maar hoe heb jij het gedaan code zoeken of tutorials gevolgd misschien iets anders?


Alle tijden zijn GMT +2. Het is nu 23:17.