Nido Apple

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Hola a todos,
soy nuevo en el foro espero que sea el lugar justo para escribir el tema.
Bueno les explico mi problema,
tengo una TableView donde hay una voz Hotel y una Restaurante,
apresando hotel carga una TableView con dos Label y un imagen,
al interior de eta hay 20 hoteles, después por cada hotel carga un ViewController llamado "DescripcionHotelViewController"
donde se pueden ver la descripción de cada Hotel como foto, nombre y dirección.
Hasta aquí todo bien,
mi problema es que quiero incorporar un numero de teléfono (que apretando ande) una email y un mapa por cada hotel, todo en la misma "DescripcionHotelViewController"
E echo ya un APP donde puse numero de tel, email y mapa per solo en una pagina singola llamada "contactViewController"
usando este código para llamar:

-(IBAction)callPhone:(id)sender {
    [[UIApplication sharedApplication] openURL: [NSURL URLWithString:@"tel:+123456789"]];
}

Mi problema es como ago para llamar 20 números diferentes, 1 por cada Hotel en el mismo ViewController?
Alli les mando el código así pueden entender mejor.
Muchas Gracias

#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 XXX 33, 6630 Torino", 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

1 Respuesta

0voto

leorunn Puntos2590

Les explico mejor,
les pongo una foto.

Comenzando del "Hotel Viewcontroller" apretando cualquiera hotel sea Hotel1, Hotel2 o hotel3 se carga "HoteldescripcionViewcontroller",
donde están las descripciones de los hoteles, cada hotel tiene una descripción diferente como foto nombre del hotel y dirección.
Hasta aquí todo anda bien,
puse también en el código tres label, email, web y teléfono,
las cuales las veo perfectamente cada hotel con sus datos diferentes,
a estas tres no les di ningún acción porque no se como incorporarlo en este código.

Este es el código del NSDictionary por cada hotel:

NSDictionary *hotel1 =
[NSDictionarydictionaryWithObjects:
[NSArrayarrayWithObjects:
@"napoleon.jpg",
@"Napoleon",
@"****",
@"via del culo 33 06500 Menton"
@"3334576543", nil]
@"[email protected]",
@"www.hola.com",
nil]

forKeys:[NSArrayarrayWithObjects:
@"imagine",
@"nome",
@"descrizione",
@"indirizo",
@"telefono",
@"email",
@"web",

nil]];

Mi pregunta es como hago para incorporar este código la action para que ande el pul teléfono, email y web?
He hecho un app donde la email, telefono y web fueron conectadas a la action direttamente dal Storyboard - viewcontroller
un ejemplo arrastrando el pul telefono en el file.h para darle el codigo del action,

-(IBAction)callPhone:(id)sender {
[[UIApplicationsharedApplication] openURL: [NSURLURLWithString:@"tel:+123456789"]];
}

Como ago para incorporar eta action a cada NSDictionary de cada hotel.
Espero que alguien me pueda ayudar soy novato con xcode.
gracias a todos.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...