Swift 3.0 撥打電話
Swift版
//1.有提示
let callWebView = UIWebView()
callWebView.loadRequest(URLRequest(url:URL(string: "tel:\(10086)")!))
self.addSubview(callWebView)
//2.有提示
UIApplication.shared.openURL(URL(string: "telprompt://10086")!)
//3.無提示
UIApplication.shared.openURL(URL(string: "tel://10086")!)
經測試撥打完都會回到app,沒有留在通話記錄,網上說第三種會停留在通訊錄,待測試
OC版
//10.0之後好像撥打電話會有兩秒的延遲,此方法可以秒打
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 10) {
NSString *phone = [NSString stringWithFormat:@"tel://4008280082"];
NSURL *url = [NSURL URLWithString:phone];
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {
NSLog(@"phone success");
}];
}else{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://4008280082"]];
}
//2.會彈出提示框
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://4008380082"]];
//帶提示框的用法
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"客服電話" message:@"400-838-0082" preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *done = [UIAlertAction actionWithTitle:@"呼叫" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 10) {
NSString *phone = [NSString stringWithFormat:@"tel://4008380082"];
NSURL *url = [NSURL URLWithString:phone];
if (@available(iOS 10.0, *)) {
[[UIApplication sharedApplication] openURL:url options:@{} completionHandler:^(BOOL success) {
NSLog(@"phone success");
}];
} else {
// Fallback on earlier versions
}
}else{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://4008380082"]];
}
}];
[alertController addAction:done];
UIAlertAction *cancel = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
}];
[alertController addAction:cancel];
[self presentViewController:alertController animated:YES completion:nil];
相關推薦
Swift 3.0 撥打電話
Swift版 //1.有提示 let callWebView = UIWebView() callWebView.loadRequest(URLRequest(url:URL(string:
使用 Swift 3.0 操控日期
字符 一個 local 3-0 uil num 喜歡 posix fmt 作者:Joe,原文鏈接,原文日期:2016-09-20譯者:Cwift;校對:walkingway;定稿:CMB 當你在想要 大規模重命名 時,一個附帶的挑戰就是要確保所有相關的文檔都必須同步
swift 3.0適配
為了適配swift 3.0,又要大費周折的從網路上找文章了.不過這樣的文章已經很多了.下面我找到幾個比較好的文章,可以和大家分享一下.接下來就要驗證這些文章是否真確,是否高效. 等待自己的偉大小白鼠.... Swift 3 遷移工作總結 http://www
swift 3.0 -UINavigationController
// AppDelegate.swift // swift-UINavigationController 導航控制器 // // Created by yidong on 16/9/30. // Copyright © 2016年 東哥. All rights re
Swift 3.0 整合極光推送
1.前言 推送證書配置什麼的都不多講了,極光推送的開發文件裡都有詳細的介紹極光推送文件,因為官方的文件是OC版本的,我這裡主要是講解一下怎麼用Swift進行整合。 本篇文章也可移步簡書閱覽,效果更好哦! 2.配置 現在一切都已經根據他們的文件配置好了
黑馬程式設計師:開源Swift 3.0微博專案 ,做最具情懷的IT教育
眾所周知,今年的蘋果開發者大會之後,作為國內iOS培訓機構的領頭羊,黑馬程式設計師iOS學院率先放出iOS10的最新教程,分享給廣大iOS愛好者及新老學員。而就在前幾天,黑馬程式設計師的資深iOS講師居然做起了“網紅”。 在未大肆宣傳的情況下,直播前,同時線上人
Swift 3.0 從 ++ 的實現到 inout 和 defer 的小細節
本文是一個在 Swift 3.0 中自加和自減的實現 專案在我的「Playground」中開源 引言 Swift 3.0 中刪去了原 C Style 的自加和自減寫法,轉而推薦使用+=和-=寫法。有時我們會在陣列下標處直接修改某些計數值,而+=寫法是個表示式,本身是不返回值的,
【Swift 3.0】iOS 國際化切換語言
有的 App 可能有切換語言的選項,結合系統自動切換最簡單的辦法: fileprivate var localizedBundle: Bundle = { return Bundle(path: Bundle.main.path(forResource: "zh-Hans", of
swift 3.0 按鈕的用法(UIButton)
1.按鈕的型別 /* UIButtonType.system:前面不帶圖示,預設文字顏色為藍色,有觸控時的高亮效果 UIButtonType.custom:定製按鈕,前面不帶圖示,預設文字顏色為白色,無觸控時的高亮效果 UI
Swift 3.0 擴充套件(extension)的使用
請注意版本,Swift 3.0對應的是xcode 8,網上很多例子都是舊的,在xcode 8跑不起來。 擴充套件是向一個已有的類、結構體或列舉型別新增新的功能(在swift中擴充套件沒有名字)。 相當於Objective-C中Category(OC中可以有名字的,而且只能
swift 3.0 再探索 - 2.Array & Dictionary
swift 3.0 再探索 - 2.Array & Dictionary 上一章講了Swift 3.0的String 和 String常用的API,這一篇講解一下 Array 和 Dictionary。 (這裡順便提一下Set–集合) 在swift中關於Array和Dic
Swift 3.0 新特性
var arr = [100,200,300] for element in arr.reversed() { // 不會改變陣列元素的排序 print(element) } print(arr) arr.reverse() // 改變陣列元素的排序 print(
iOS開發之OC與swift開發混編教程,代理的相互呼叫,block的實現。OC呼叫Swift中的代理, OC呼叫Swift中的Block 閉包,swift 3.0
最新一些學妹問起,所以抽點時間來寫的,適合入門級別的swift 與 OC 混編 的程式猿。 本文章將從兩個方向分別介紹 OC 與 swift 混編 1. 第一個方向從 swift工程 中引入 oc類 1. 1 如何在swift的類中使用oc類 1
解決Android6.0+撥打電話許可權問題
針對即使獲取了撥打電話的許可權依然報錯問題的解決方案 針對即使獲取了撥打電話的許可權依然報錯問題的解決方案 private static final int MY_PERMISSIONS_REQUE
swift--Swift 3.0實戰:遷移程式到 Swift 3.0
每當看到新的程式語言我總是會有相當大的興趣,是的,Swift 3是一門『新語言』,因為它看起來,怎麼都不像過往的 Swift。開啟一個老的專案時,發現滿目瘡痍,基本上能標紅的程式碼全被標紅了。先來個截圖提提神: 圖一 程式碼標紅 怎麼樣,清醒點了沒?可能你會覺得奇怪,怎麼
Swift 3.0 第三方庫不適配報(SWIFT_VERSION)問題
Swift 3.0 第三方庫不適配問題 “Use Legacy Swift Language Version” (SWIFT_VERSION) is required to be configur
搶紅包演算法問題 swift 3.0
搶紅包演算法的討論網上也太多了,這裡不討論好壞問題.這裡只是一個實現也是網上的一個思路(一個紅包發出來,其實份額已經分配好了.) 問題: 第一個人搶的紅包 不會超過 總錢數/總人數*2 解決: 最後
Swift 3.0 中的新變化
本文翻譯自 www.hackingwithswift.com 上釋出的英文文章,原文連結What’s new in Swift 3.0 Swift 3.0 幾乎更改了所有東西,如果不做一些修改的話,你的程式碼很可能不會編譯成功。說真的,如果你覺得從 Swift
swift--Swift 3.0實戰:實現Dispatch once擴充套件
在3中原有的Dispatch once已經被廢棄了。但是可以通過給DispatchQueue實現一個擴充套件方法來實現原有的功能。 程式碼如下: public extension DispatchQueue { private static var _onceTr
Swift 3.0
// // main.swift // Swift-陣列 // // Created by yidong on 16/9/27. // Copyright © 2016年 東哥. All rights reserved. // import Foundation /