Ciao a tutti sono nuovo nel forum,
sono alle prime armi con - Xcode.
Vi spiego il mio problema,
Ho un Navigationcontroller con tre voci:
-Hotel
-Ristoranti
-Spiagge
Quando si preme la voce Hotel carica un Viewcontroller chiamato "HotelsViewController"
dove ho inserito una Table View cell che al suo interno a due label e un immagine,
per ora al interno del Cell ci sono 5 hotel, premendo un qualsiasi hotel
un esempio Hotel1, hotel2 o hotel3 porta a caricare
un ViewController che si chiama "HotelDescrizioneViewController" dove ci sono le descrizioni di ogni hotel, in questa descrizione si trovano sempre due label e un immagine,
che sono nome del Hotel, indirizzo e immagine del hotel.
Fino qui tutto funziona bene, pero volevo aggiungere ad ogni hotel delle voci,
ad esempio email, telefono, web e mappa.
Come devo fare per assegnare ad ogni hotel queste voci naturalmente che funzionino al suo click?
Ho fatto una cosa simile a questo tutoria
http://www.techotopia.com/index.php/Implementing_TableView_Navigation_using_Xcode_Storyboards
Ecco il codice:
#import "HotelsViewController.h"
#import "CellaHotel.h"
#import "HotelsDescrizioneViewController.h"
@interface HotelsViewController ()
@end
@implementation HotelsViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
Hotels = [[NSMutableArray alloc] init];
NSDictionary *hotel1 = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"napoleon.jpg", @"Napoleon", @"****",@"via del c 33 06000 ", nil]
forKeys:[NSArray arrayWithObjects:@"imagine",@"nome",@"descrizione",@"indirizo",nil]];
NSDictionary *hotel2 = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"mediterranee.jpg",@"Mediterranee",@"***", nil]
forKeys:[NSArray arrayWithObjects:@"imagine",@"nome",@"descrizione",nil]];
NSDictionary *hotel3 = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"Victoria.jpg",@"Victoria",@"**", nil]
forKeys:[NSArray arrayWithObjects:@"imagine",@"nome",@"descrizione",nil]];
NSDictionary *hotel4 = [NSDictionary dictionaryWithObjects:[NSArray arrayWithObjects:@"riva.jpg",@"Riva",@"***", nil]
forKeys:[NSArray arrayWithObjects:@"imagine",@"nome",@"descrizione",nil]];
[Hotels addObject:hotel1];
[Hotels addObject:hotel2];
[Hotels addObject:hotel3];
[Hotels addObject:hotel4];
}
- (void)viewDidUnload
{
[super viewDidUnload];
// Dispose of any resources that can be recreated.
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [Hotels count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
CellaHotel *cell = [tableView dequeueReusableCellWithIdentifier:@"CellaHotel"];
NSDictionary *hotel = [Hotels objectAtIndex:indexPath.row];
cell.nomehotel.text = [hotel objectForKey:@"nome"];
cell.descrizionehotel.text = [hotel objectForKey:@"descrizione"];
cell.imaginehotel.image = [UIImage imageNamed:[hotel objectForKey:@"imagine"]];
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSDictionary *hotel = [Hotels objectAtIndex:indexPath.row];
HotelsDescrizioneViewController *HotelsVC = [self.storyboard instantiateViewControllerWithIdentifier:@"HotelsDescrizioneViewController"];
[self.navigationController pushViewController:HotelsVC animated:YES];
[HotelsVC.labelNome setText:[hotel objectForKey:@"nome"]];
[HotelsVC.indirizo setText:[hotel objectForKey:@"indirizo"]];
[HotelsVC.imaginehotel setImage:[UIImage imageNamed:[hotel objectForKey:@"imagine"]]];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return 60;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
________________________________________________________________________
Poco tempo fa ho fatto la mia prima app,
nella quale ho creato un viewcontroller chiamato "ContactViewcontroller"
dove avevo inserito una email , telefono etc.
avevo collegato dal "Contactviewcontroller" dello storyboard al file .h un esempio "telefono"
con l'Action
- (IBAction)callPhone:(id)sender;
e poi nel .m
-(IBAction)callPhone:(id)sender {
[[UIApplication sharedApplication] openURL: [NSURL URLWithString:@"tel:+123456789"]];
}
__________________________________________________________________________
Spero che mi sono spiegato bene,
Grazie a tutti