'u kullanarak programatik olarak nasıl sekme görünümü oluşturabilirim Bir iphone uygulaması için nasıl sekmeli bir görünümü programlı olarak oluşturabilirim? Bazı iyi öğretici bağlantılar veya örnekler sunarak bana yardımcı olabilir misiniz? Biz tabbar oluşturmak zorunda nasılObjective-C
cevap
O UITabBarController üzerinden bir UITabBar oluşturmak için oldukça basit olduğunu. Aşağıdaki örnek, AppDelegate sınıfınızda çalışmalıdır.
App Delege Arabirimi
Öncelikle, arayüz içinde, bizim UITabBarController tanımlayacağız.
UITabBarController *tabBarController;
App Delege Uygulama
Ardından, uygulama dosyanın application:didFinishLaunchingWithOptions:
yöntemi içinde, biz o zaman bizim sekme çubuğu denetleyicisi initialize edeceğiz.
// Initialise our tab bar controller
UITabBarController *tabBarController = [[UITabBarController alloc] init];
Ardından, sekme çubuğu denetleyicisine eklemek istediğiniz görünüm denetleyicilerini oluşturmanız gerekir. Sekmenin başlığını/simgesini ayarlamak için bunlara bazı bilgiler eklememiz gerekecek, ancak sonunda buna geri döneceğim. setViewControllers olarak
// Create your various view controllers
UIViewController *testVC = [[TestViewController alloc] init];
UIViewController *otherVC = [[OtherViewController alloc] init];
UIViewController *configVC = [[ConfigViewController alloc] init];
: animasyonlu: yöntemi görünümü denetleyicileri bir dizi gerektirdiğinden, bir diziye bizim görünümü denetleyicileri ekleyin ve sonra onları serbest olacak. (NSArray olarak onları korur.)
// Put them in an array
NSArray *viewControllers = [NSArray arrayWithObjects:testVC, otherVC, configVC, nil];
[testVC release];
[otherVC release];
[configVC release];
Sonra sadece görünüm denetleyicilerin dizisi ile UITabBarController sunmak ve pencereye ekleyin.
// Attach them to the tab bar controller
[tabBarController setViewControllers:viewControllers animated:NO];
// Put the tabBarController's view on the window.
[window addSubview:[tabBarController view]];
Son olarak,
dealloc
yöntemi içinde
[tabBarController release];
çağrı emin olun.
// Create our tab bar item
UITabBarItem *tabBarItem = [self tabBarItem];
UIImage *tabBarImage = [UIImage imageNamed:@"YOUR_IMAGE_NAME.png"];
[tabBarItem setImage:tabBarImage];
[tabBarItem setTitle:@"YOUR TITLE"];
Bu programlama
UINavigationController *BandNavigationController3;
AudienceSettingsViewController *audienceSettingsViewView =[[AudienceSettingsViewController alloc]initWithNibName:@"AudienceSettingsViewController" bundle:nil];
BandNavigationController3 = [[UINavigationController alloc]initWithRootViewController:audienceSettingsViewView];
BandNavigationController3.tabBarItem.title = @"Settings";
BandNavigationController3.tabBarItem.image = [UIImage imageNamed:@"settings.png"];
[BandNavigationController3.tabBarItem initWithTabBarSystemItem:UITabBarSystemItemFavorites tag:4];
BandNavigationController3.navigationBar.hidden = YES;
[bandTabBarArray addObject:BandNavigationController3];
[BandNavigationController3 release];
[audienceSettingsViewView release];
[tabBarController setViewControllers:bandTabBarArray];
[bandTabBarArray release];
-1 A: aşağıdaki gibi
View Controller Uygulama görünümünüzü kontrolörlerinin her İçinde
, ayrıca init yöntemi içinde sekme için başlık ve simge ayarlamak isteyeceksiniz kötü biçimlendirilmiş kopyalama ve yapıştırma işi açıklama yok. –
- 1. ObjectiveC blokları Java eşdeğeri
- 2. objectivec: fb gönderi yorumu hatası
- 3. ObjectiveC Yöntemde Protokol Adını Belirtme Sözdizimi Argüman
- 4. ObjectiveC UISwitch varsayılanı OFF olarak ayarlandı
- 5. ARC ObjectiveC++ uygulamasında C++ 11 lambda işlevlerini kullanma - nasıl düzgün yapılır?
- 6. Bilinmeyen bir boyut NSArray'ın ilk X öğelerini nasıl alabilirim? Ben bir NSArray var ObjectiveC
- 7. Yahoo Calendar API iPhone
- 8. Bir CGPDFPage'i bir UIImage'ye dönüştürme
- 9. Ben hızlı içinde Objective-C bu seçmeli protokol yöntemi uygulamak çalışıyorum
- 10. Bir kakao Bildiriminden c işlevi işaretçisinin çağrılmasına nasıl trambolin yapılır?
- 11. Swift. Boş değerler ile json dosyalarına nasıl girebilirim?
- 12. iOS
- 13. Google Takvim API'sini Swift
- 14. Swift - Aşırı yük bulamadı ... & İfade türünü çeviremiyor
- 15. Tür 'GTLQueryDrive' hastası değil 'queryForFilesInsertWithObject'
- 16. Biquad IIR için Reimplement vDSP_deq22 El ile filtrele
Kendi tabBarControllers programlı olarak oluştururken, her bir sekme için her zaman bir navigationController oluşturur ve her navigationController bir rootViewController ile başlatılır. Bana öyle geliyor ki, örneğinizde navigasyon yığını olmadığından navigasyon yığını oluşturmak mümkün değil, ama bunu hiç kodlamayı denemedim. –
@Wolfgang Sanırım öğeleri gezinme yığınına itip itmek isteyip istemediğinize bağlı. (Benim örneğim oldukça basit bir "sadece temel" yaklaşımıdır.) –
thnx gerçekten çok çalışıyor – Kiran