2012-01-06 20 views
9

iPhone ve iPad için denetleyiciyi ayırt etmek istiyorum.iPhone ve iPad'i evrensel uygulamada nasıl ayırt edebilirsiniz?

 #ifdef __IPHONE_NA 
      { 

      UINavigationBar *ipadNavBar = [[UINavigationBar alloc] initWithFrame: CGRectMake(0.0f, 0.0f, 768.0f, 50.0f)]; 
      [[self view] addSubview: ipadNavBar]; 

      UINavigationItem *ipadNavItem = [[UINavigationItem alloc] initWithTitle: @"EMPLOYEE"]; 
      [ipadNavBar pushNavigationItem:ipadNavItem animated:NO]; 
      } 
    else 
     { 

     UINavigationBar *ipadNavBar = [[UINavigationBar alloc] initWithFrame: CGRectMake(0.0f, 0.0f, 360.0f, 45.0f)]; 
     [[self view] addSubview: ipadNavBar]; 



UINavigationItem *ipadNavItem = [[UINavigationItem alloc] initWithTitle: @"EMPLOYEE"]; 
    [ipadNavBar pushNavigationItem:ipadNavItem animated:NO]; 
    } 

söyleyerek hata unterminated #Ifdef

bu yaklaşım doğru mu olur?

cevap

17

Zaten mevcut sabitler yararlanabilirler: Doğal olarak fark sabitlerini göstermektedir, sadece bununla sadece kullanıyorum else kullanabilirsiniz else if deyimi gerek olmazdı

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) 
{ 
    // Some code for iPhone 
} 
else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
{ 
    // Some code for iPad 
} 

mevcut.

Daha fazla bilgi here (UI_USER_INTERFACE_IDIOM numaralı bölüme bakın).

+0

teşekkürler Çılgın Şempanze! – user905582

+0

sorun değil - yardımcı olabildiğime sevindim! IPad bloğunun yürütülmesi için uygulamanın –

+0

evrensel olması gerekir. –

2
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) 
     NSLog(@"iPad Idiom"); 
    else 
     NSLog(@"iPhone Idiom"); 
0
if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Phone) { 

    Console.WriteLine("Phone"); 

} else if (UIDevice.CurrentDevice.UserInterfaceIdiom == UIUserInterfaceIdiom.Pad) { 

    Console.WriteLine("Pad"); 

} 
+3

İyi cevaplar, gelecek okuyucular için bir açıklama ile kod örneklerine eşlik ediyor. Bu soruyu soran kişi cevabınızı anlayabilse de, ona nasıl ulaştığınızı açıklamak başkalarına da yardımcı olacaktır. –

İlgili konular