IBActions не работает - PullRequest
       15

IBActions не работает

0 голосов
/ 06 июля 2011

У меня есть две кнопки, которые не выполняют IBAction, для которого они запрограммированы.Они правильно подключены в Интерфейсном Разработчике, но когда я нажимаю на них в симуляторе или на телефоне, они не выполняют свою задачу.Никаких сбоев, ничего.Вот мой код

MapDetailInfo.h:

@interface MapDetailInfo : UIViewController {

IBOutlet UILabel *name;
IBOutlet UITextView *address;
NSString * nameText;
NSString * addressText;
NSString * stringOne;
NSString * stringTwo;


IBOutlet UILabel *phoneNumber;

}

@property (retain, nonatomic) IBOutlet UILabel *name;
@property (retain, nonatomic) IBOutlet UITextView *address;
@property (nonatomic, copy) NSString * nameText;
@property (nonatomic, copy) NSString * addressText;
@property (retain, nonatomic)  NSString * stringOne;
@property (retain, nonatomic)  NSString * stringTwo;
@property (retain, nonatomic) IBOutlet UILabel *phoneNumber;

- (IBAction)callPhone:(id)sender;
- (IBAction)getDirections:(id)sender; 


@end

MapDetailInfo.m:

@implementation MapDetailInfo
@synthesize name, address, nameText, addressText, phoneNumber, stringTwo, stringOne;
- (void)viewDidLoad
{
[super viewDidLoad];
NSArray *myWords = [addressText componentsSeparatedByCharactersInSet:
                    [NSCharacterSet characterSetWithCharactersInString:@"("]
                    ];

stringOne = [myWords objectAtIndex:1];
stringTwo = @"("; 


stringTwo = [stringTwo stringByAppendingString:stringOne];


self.name.text = nameText;
self.address.text = [myWords objectAtIndex:0];
self.phoneNumber.text = stringTwo; 

  UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[button addTarget:self 
           action:@selector(callPhone:)
 forControlEvents:UIControlEventTouchUpInside];
[button setTitle:@"Call Shop" forState:UIControlStateNormal];
button.frame = CGRectMake(104.0, 332.0, 160.0, 40.0);
[self.view addSubview:button];


}


- (IBAction)callPhone:(id)sender {

NSString *URLString = [@"tel://" stringByAppendingString:stringTwo];

NSURL *URL = [NSURL URLWithString:URLString];

[[UIApplication sharedApplication] openURL:URL];
}

- (IBAction)getDirections:(id)sender {
 [[UIApplication sharedApplication] openURL:
 [NSURL URLWithString:[NSString stringWithFormat:@"http://maps.google.com/maps?saddr=Current    Location&daddr=%@",self.address.text]]];    
}

Я извлекаю этот вид из аннотации на карте.Все работает отлично, примите эти две кнопки, не выполняя свою задачу.Любая помощь приветствуется.Спасибо!

Ответы [ 2 ]

1 голос
/ 12 июля 2011

Причина, по которой кнопки не работали, заключается в том, что URL были неправильными. Если вы столкнулись с той же проблемой, убедитесь, что URL вашего телефонного номера:

@"tel://5555555"

У меня были круглые скобки и черточки внутри, и поэтому он не будет подтягиваться. Также была ошибка в моем URL Google.

Спасибо!

0 голосов
/ 06 июля 2011

Я не вижу никаких UIButton в вашем коде.Вы их использовали?

Редактировать:

Я предлагал использовать кнопки для этой конкретной цели.И да, вы все равно можете использовать метки и следовать той же процедуре для вызова методов.

Должна быть проблема с подключением розеток.

Я бы посоветовал вам следовать учебным пособиям - 4, 5 и 6 этой ссылки на Youtube.http://www.youtube.com/watch?v=B7jB0D3Y7Ws&feature=relmfu

...