Я работал над созданием приложения с вкладками внизу, но с возможностью переключения представлений с помощью моих собственных ссылок на наконечники, которые отображает приложение tabBar.
Я пытался найти пример этого, но xcode 4.2 (будь то на ios5.0 или ранее) не создает mainwindow.xib, поэтому мне пришлось найти способ создать это программно следующим образом:
#import "AppDelegate.h"
#import "HomeViewController.h"
#import "ViewListViewController.h"
#import "ShareViewController.h"
#import "FriendsViewController.h"
#import "SettingsViewController.h"
@implementation AppDelegate
@synthesize window = _window;
@synthesize tabBarController = _tabBarController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
// Override point for customization after application launch.
UIViewController *homeViewController = [[HomeViewController alloc] initWithNibName:@"HomeViewController" bundle:nil];
UIViewController *viewListViewController = [[ViewListViewController alloc] initWithNibName:@"ViewListViewController" bundle:nil];
UIViewController *shareViewController = [[ShareViewController alloc] initWithNibName:@"ShareViewController" bundle:nil];
UIViewController *friendsViewController = [[FriendsViewController alloc] initWithNibName:@"FriendsViewController" bundle:nil];
UIViewController *settingsViewController = [[SettingsViewController alloc] initWithNibName:@"SettingsViewController" bundle:nil];
self.tabBarController = [[UITabBarController alloc] init];
[self.tabBarController setDelegate:self];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:homeViewController, viewListViewController, shareViewController, friendsViewController, settingsViewController, nil];
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
}
Этот код в моем AppDelegate.m отлично работает, и я могу отлично переключаться между вкладками. Проблема, с которой я сталкиваюсь, заключается в том, что я буду добавлять графику на страницы и использовать их в качестве кнопок для переключения между представлениями для добавления/редактирования/удаления данных из базы данных (отдельная проблема, которую мне придется научиться делать дальше).
Большинство примеров, которые я нашел, запускают приложение либо с tabBar, либо с uiNavigation с UIViews для переключения между ними. Мне еще предстоит найти пример, который ясно покажет, как делать то, что я хочу сделать. Является ли мой подход неправильным для создания приложения tabBar в качестве базового шаблона для этого, или это можно сделать? Каждая вкладка может иметь несколько представлений, выполняющих функции, но мне нужно иметь возможность создавать их и переключаться между ними в среде tabBar.
заранее спасибо,
Серебряный тигр
-ОБНОВЛЕНИЕ:-
ПОСЛЕ чтения немного я теперь думаю, что aUINavigationController не то, что я ищу. Что мне нужно, так это способ создания пользовательской кнопки, позволяющей переключать представления, поскольку кнопки, которые я буду использовать в своем контенте, будут либо графическими, либо прозрачными поверх графического фона. Можно ли использовать настраиваемые кнопки для нажатия новых представлений, сохраняя при этом панель вкладок постоянно видимой? Моя структура будет такой, как показано ниже
Home
Add
Edit
delete
ViewList - Single page to view list
Share - Single page to send emails / invites
Friends
Add
Edit
Delete
Settings - Single page for app settings/preferences
так что, по сути, у меня действительно было бы только 2 вкладки, на которых я бы выдвигал новые представления, но UINavigationController, похоже, не соответствует методу, который я использую, поскольку я не использую одну полосу вверху для переключения представлений.