2015-09-10 11 views
5

3D Touch आईफोन 6 एस/आईफोन 6 एस प्लस में पेश किया गया है, और मुझे आश्चर्य है कि क्या हम 3 डी टच से संबंधित एपीआई तक पहुंच सकते हैं और इसे हमारे ऐप में प्रोग्रामेटिक रूप से कर सकते हैं। क्या किसी के पास कुछ विचार हैं?आईओएस 3 डी टच प्रोग्रामेटिक रूप से

+4

क्या आपने कोई दस्तावेज़, आलेख, या नमूना कोड देखा था? https://developer.apple.com/ios/3d-touch/ –

उत्तर

9

आपके पास ऐप्स में 3 डी टच कार्यक्षमता तक पहुंच होगी। UITouch कक्षा में एक नई संपत्ति, force होगी, जिसमें टैप ईवेंट की ताकत होगी। 1.0 को "औसत स्पर्श" के रूप में परिभाषित किया गया है।

स्रोत: https://developer.apple.com/ios/3d-touch/

+0

मार्गदर्शिका के लिए धन्यवाद। – tounaobun

+0

हार्ड प्रेस के लिए मूल्य क्या होगा? –

+0

@ हैरीनग शायद 1.0 से अधिक कुछ भी। मुझे यकीन नहीं है हालांकि। मुझे लगता है कि आपको पता लगाने के लिए थोड़ा सा परीक्षण करना होगा। – ddsnowboard

3

मैं एप्लिकेशन आइकन पर दबाने के लिए स्रोत कोड साझा कर रहा हूँ सूची में 4 आइटम पॉप्युलेट

चरण 1: - AppDelegate.m

में आयात वर्ग

आयात sys/utsname.h

चरण 2: -

pragma मार्क के लिए ** Eventes

- (void) addEventsFor3DTouchEvents { 
    if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 9.0) { 
     UIApplicationShortcutItem *item1 = [[UIApplicationShortcutItem alloc] initWithType:@"dynamic1" localizedTitle:TITLE_NAME_1 localizedSubtitle:@"" icon:[UIApplicationShortcutIcon iconWithTemplateImageName:TITLE_IMAGE_NAME_1] userInfo:nil]; 

     UIApplicationShortcutItem *item2 = [[UIApplicationShortcutItem alloc] initWithType:@"dynamic1" localizedTitle:TITLE_NAME_2 localizedSubtitle:@"" icon:[UIApplicationShortcutIcon iconWithTemplateImageName:TITLE_IMAGE_NAME_2] userInfo:nil]; 

     UIApplicationShortcutItem *item3 = [[UIApplicationShortcutItem alloc] initWithType:@"dynamic1" localizedTitle:TITLE_NAME_3 localizedSubtitle:@"" icon:[UIApplicationShortcutIcon iconWithTemplateImageName:TITLE_IMAGE_NAME_3] userInfo:nil]; 

     UIApplicationShortcutItem *item4 = [[UIApplicationShortcutItem alloc] initWithType:@"dynamic1" localizedTitle:TITLE_NAME_4 localizedSubtitle:@"" icon:[UIApplicationShortcutIcon iconWithTemplateImageName:TITLE_IMAGE_NAME_4] userInfo:nil]; 

     [[UIApplication sharedApplication] setShortcutItems: @[ item1, item2, item3, item4 ]]; 
    } 
} 


#pragma mark - 3DTouch Delegate Methods 

- (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void (^)(BOOL))completionHandler { 
    [self moveThrough3DTouch:shortcutItem]; 
} 

#pragma MARK for Handling Action for Three D Touch Events 

- (void)moveThrough3DTouch:(UIApplicationShortcutItem *)temp { 

    if ([temp.localizedTitle isEqualToString:TITLE_NAME_1]) { 

      [self.tabBarController setSelectedIndex:0]; 
    } else if([temp.localizedTitle isEqualToString:TITLE_NAME_2]) { 

      [self.tabBarController setSelectedIndex:1]; 
    } else if([temp.localizedTitle isEqualToString:TITLE_NAME_3]) { 

      [self.tabBarController setSelectedIndex:2]; 
    } else if([temp.localizedTitle isEqualToString:TITLE_NAME_4]) { 

      [self.tabBarController setSelectedIndex:3]; 
    } 
} 

तीन डी टच के लिए कार्रवाई जोड़ा जा रहा है मैं अपने अनुप्रयोग में टैब बार नियंत्रक उपयोग कर रहा हूँ, तो में ले जाना चाहते हैं के लिए मशीन का नाम

- (NSString *) machineName { 
    struct utsname systemInfo; 
    uname(&systemInfo); 
    return [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; 
} 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    if([[self machineName] isEqualToString:@"iPhone8,2"]|| [[self machineName] isEqualToString:@"iPhone8,1"]) { 
     [self addEventsFor3DTouchEvents]; 
    } 
    return YES; 
} 

pragma मार्क जाओ नियंत्रित

- (void) moveToControllerScene { 
     UIStoryboard *storyboard    = [UIStoryboard storyboardWithName:STORY_BOARD_IDENTIFIER bundle:nil]; 
     YOUR_CONTROLLER_OBJECT *obj   = [storyboard instantiateViewControllerWithIdentifier:@"YOUR_CONTROLLER_OBJECT"]; 
     [navController pushViewController:obj animated:YES]; 
} 

संबंधित मुद्दे