iOS 3DTouch 代碼實現

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    /**
     *  @author 李凱利, 16-10-19 11:10:30
     *
     *  UIApplicationShortcutIcon :設置每個item項目的圖標 可以是系統的也可以是自定義圖標,此類提供兩個初始化方法來供我們選擇:iconWithType:方法設置系統圖標
     iconWithTemplatelmageName:方法設置自定義圖標
     
     UIApplicationShortcutItem類中的屬性: 
     type:標識每一個Item項目,通過標識我們可以區分點擊相應每一項該觸發哪些操作(在3Dtouchu的代理方法中就是靠type 屬性來區分點擊的那一項)
        localizedTitle:每一個item 的標題
     localizedSubtitle:每個item的副標題 可有可無
     icon:每個item對應的圖標
     userInfo:屬性的信息字典,用於傳值
     */
    //欄目一
    UIApplicationShortcutIcon * icon1 =[UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeCompose];
    UIApplicationShortcutItem* item1 =[[UIApplicationShortcutItem alloc]initWithType:@"item1" localizedTitle:@"入口1" localizedSubtitle:@"入口1副標題" icon:icon1 userInfo:nil];
    //欄目二
    UIApplicationShortcutIcon * icon2 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypePlay];
    UIApplicationShortcutItem * item2 =[[UIApplicationShortcutItem alloc]initWithType:@"item2" localizedTitle:@"入口二" localizedSubtitle:@"入口二副標題" icon:icon2 userInfo:nil];
    //欄目3
    UIApplicationShortcutIcon *icon3 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypePause];
    UIApplicationShortcutItem *item3 = [[UIApplicationShortcutItem alloc] initWithType:@"item3" localizedTitle:@"入口3" localizedSubtitle:@"入口3副標題" icon:icon3 userInfo:nil];
    
    //欄目4
    UIApplicationShortcutIcon *icon4 = [UIApplicationShortcutIcon iconWithType:UIApplicationShortcutIconTypeAdd];
    UIApplicationShortcutItem *item4 = [[UIApplicationShortcutItem alloc] initWithType:@"item4" localizedTitle:@"入口4" localizedSubtitle:@"入口4副標題" icon:icon4 userInfo:nil];
    //設置shortcutItems 需要注意的是shortcutItems 數組最多隻能加入四個item,超過四個只會顯示前面的四個
    application.shortcutItems = @[item1,item2,item3,item4];
    
    return YES;
}
#pragma mark ----3DTouchu的代理方法
-(void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler
{
    //根據item對應的type標識處理對應的點擊操作
    NSString * itemType = shortcutItem.type;
    if ([@"item1" isEqualToString:itemType]) {
        NSLog(@"item1");
    }
    else if ([@"item2" isEqualToString:itemType]){
        NSLog(@"item2");
    }
    else if ([@"item3" isEqualToString:itemType]){
        NSLog(@"item3");
    }
    else if ([@"item4" isEqualToString:itemType]){
        NSLog(@"item4");
    }
    
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章