У меня есть имя UIButton как "Купить сейчас". Если кто-либо коснется кнопки, внешняя ссылка должна открыться в браузере Safari. Как я могу это достичь?
Как я могу дать внешнюю ссылку на UIButton? Возможно ли это?
Ответ 1
Это легко. Вы устанавливаете кнопки target
и selector
для кнопки, а затем внутри selector
вы вызываете сафари, чтобы открыть ссылку.
Код для вызова Safari:
Objective-C
- (void)buttonPressed {
[[UIApplication sharedApplication]
openURL:[NSURL URLWithString: @"https://www.google.co.uk"]];
}
Swift 2.x
UIApplication.sharedApplication().openURL(NSURL(string: "https://www.google.co.uk")!)
Swift 3.x
UIApplication.shared.openURL(URL(string: "https://www.google.co.uk")!)
Ответ 2
Создайте кнопку и дайте ей цель селектору, который открывает Safari со ссылкой.
Основной пример:
Сделать UIButton
UIButton *button = [[UIButton alloc] initWithFrame:...];
[button addTarget:self action:@selector(someMethod) forControlEvents:UIControlEventTouchUpInside];
Затем метод открытия URL
-(void)someMethod {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"http://www.google.ca"]];
}
Не забудьте указать правильную рамку и название кнопки и добавить ее в свой вид.
Ответ 3
- (IBAction)buyNowButtonPressed {
NSString *s = [ NSString stringWithFormat:@"http://www.sample.com/buynowpage"];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:s]];
}
Ответ 4
openURL
устарел из iOS 10 и вместо этого использует следующий код.
UIApplication *application = [UIApplication sharedApplication];
NSURL *url = [NSURL URLWithString:@"http://www.yourDomain.com"];
[application openURL:url options:@{} completionHandler:nil];