iOS3D-Touch开发之Home Screen Quick Actions(Swift)
2016-03-04 17:50
447 查看
func creatShortcutItem() { let item1 = UIApplicationShortcutItem(type: "Shortcut1", localizedTitle: "搜索", localizedSubtitle: "此处可以搜索", icon:UIApplicationShortcutIcon(type: UIApplicationShortcutIconType.Location), userInfo: nil) let item2 = UIApplicationShortcutItem(type: "Shortcut2", localizedTitle: "主页", localizedSubtitle: "此处是主页", icon:UIApplicationShortcutIcon(templateImageName: "iconfont-hometouch"), userInfo: nil) UIApplication.sharedApplication().shortcutItems = [item1,item2] }
值得注意的是,应用在后台开启,会调用以下方法
func application(application: UIApplication, performActionForShortcutItem shortcutItem: UIApplicationShortcutItem, completionHandler: (Bool) -> Void) { switch shortcutItem.type { case "Shortcut1" : let tab = RootTabViewController() self.window?.rootViewController = tab self.window?.makeKeyAndVisible() let vcc = HPViewController() vcc.hidesBottomBarWhenPushed = true (tab.selectedViewController as! UINavigationController).pushViewController(vcc, animated: true) case "Shortcut2" : let tab = RootTabViewController() self.window?.rootViewController = tab self.window?.makeKeyAndVisible() tab.selectedIndex = 1 default: print("nothing") } }
应用在后台未开启,会调用以下方法
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
if #available(iOS 9.0, *) {
if let shortcutItem = launchOptions?[UIApplicationLaunchOptionsShortcutItemKey] as? UIApplicationShortcutItem {
switch shortcutItem.type {
case "Shortcut1":
if isLogined() {
}else {
self.window?.rootViewController = LoginViewController()
self.window?.makeKeyAndVisible()
SVProgressHUD.showErrorWithStatus("请您先登录")
}
break
case "Shortcut2" :
if isLogined() {
let time: NSTimeInterval = 0.5
let delay = dispatch_time(DISPATCH_TIME_NOW,
Int64(time * Double(NSEC_PER_SEC)))
dispatch_after(delay, dispatch_get_main_queue()) {
let tab = RootTabViewController()
self.window?.rootViewController = tab
self.window?.makeKeyAndVisible()
let vcc = EditViewController()
vcc.hidesBottomBarWhenPushed = true
(tab.selectedViewController as! UINavigationController).pushViewController(vcc, animated: true)
}
}else {
self.window?.rootViewController = LoginViewController()
self.window?.makeKeyAndVisible()
SVProgressHUD.showErrorWithStatus("请您先登录")
}
break
default:
break
}
return false
}
} else {
// Fallback on earlier versions
}
}
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- Apple Swift学习教程
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 介绍 Fedora 上的 Swift
- 讲解iOS开发中基本的定位功能实现
- iOS中定位当前位置坐标及转换为火星坐标的方法
- js判断客户端是iOS还是Android等移动终端的方法
- iOS应用中UISearchDisplayController搜索效果的用法
- IOS开发环境windows化攻略
- 浅析iOS应用开发中线程间的通信与线程安全问题
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift编程中的泛型解析
- Swift中定义二维数组的方法及遍历方法示例
- 检测iOS设备是否越狱的方法