2011-12-22 3 views
1

Я начал свое приложение iPad с помощью приложения на основе View. В первых двух представлениях я добавил табличные представления. Теперь в качестве третьего представления я хочу добавить splitView в представление, для этого я добавил контроллер splitview в свой файл xib. как я могу написать часть программирования. любые польские ссылки ful или souce.Как я могу добавить splitview для своего приложения с поддержкой вида в кодировке ipad

I am using view based class like as follows: 
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

} 

- (void)viewDidUnload 
{ 
    [super viewDidUnload]; 
    // Release any retained subviews of the main view. 
    // e.g. self.myOutlet = nil; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    // Return YES for supported orientations 
    return YES; 
} 

Где я могу реализовать код? Спасибо заранее.

ответ

1

Как я знаю о контроллере с раздельным просмотром, вам нужно создать новое приложение на основе раскола на основе вида, или вы должны реализовать его программным путем. для этого вам нужно создать один главный контроллер представления, которые держать SplitView и один настольный контроллер представления без бобов файла и содержат контроллер представления таблицы добавить еще один вид контроллера, который подробно дисплей

написать следующий код в главном контроллере
реализации коды, как : в .h странице

UISplitViewController *splitViewController; 
@property (nonatomic, retain) IBOutlet LeftViewController *left; 
@property (nonatomic, retain) IBOutlet DetailViewController *right; 

в .m странице

// Do any additional setup after loading the view from its nib. 
left = [[LeftViewController alloc] initWithStyle:UITableViewStylePlain]; 
UINavigationController *leftNav = [[UINavigationController alloc] initWithRootViewController:left]; 
right = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil]; 
UINavigationController *rightNav = [[UINavigationController alloc] initWithRootViewController:right]; 
left.detail = right; 

splitViewController = [[UISplitViewController alloc] init];  
splitViewController.viewControllers = [NSArray arrayWithObjects:leftNav,rightNav, nil]; 
splitViewController.delegate = right; 
self.view = splitViewController.view; 

[left release]; 
[right release]; 

все запустить метод написан в viewDidLoad не viewW illAppear

+0

Спасибо, очень много hiren –

+0

Спасибо, очень много hiren.But, где вы объявили левый, правый, LeftViewController. –

+1

проверить мой ответ – Hiren

1

Сплитконтроллер должен быть RootViewController. Из Apple Docs:

«Контроллер с раздельными изображениями всегда должен быть корнем любого создаваемого вами интерфейса. Другими словами, вы должны всегда устанавливать представление из объекта aUISplitViewController в качестве корневого представления окна вашего приложения. интерфейс с разделенным изображением может содержать контроллеры навигации, контроллеры панели вкладок или любые другие типы контроллеров, которые необходимы для реализации вашего интерфейса ».

Таким образом, вы не можете делать то, что хотите, не создавая собственные виды контейнеров (в iOS5) вместо использования Apple SplitViewController.

2

Если вы хотите переключиться на контроллер splitview, вам нужно выделить/инициализировать его, тогда вам нужно установить контроллер представления Windows на контроллер splitview.

Например, в моем приложении у меня есть основной вид дома, и когда пользователь нажимает кнопку, я переключаюсь на splitview. Для swtich для контроллера splitview я использую следующий код.

Получить ссылку на ваше приложение делегат

MainAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 

Alloc и инициализирует контроллер SplitView, так что для моего примера у меня есть контроллер списка раздела слева, и контроллер раздел подробно о праве:

SectionListViewController *sectionListVC = [[SectionListViewController alloc] init]; 
SectionViewController *sectionVC = [[SectionViewController alloc] init]; 

UISplitViewController *splitVC = [[UISplitViewController alloc] init]; 
splitVC.viewControllers = [NSArray arrayWithObjects:sectionListVC, sectionVC, nil]; 

appDelegate.window.rootViewController = splitVC; 

[sectionListVC release]; 
[sectionVC release]; 
[splitVC release]; 
+0

Спасибо за Быстродействие Mellon –

+0

SectionListViewController & SectionListViewController являются отдельными классами не так ли? –

+1

да, это отдельные классы. Один из них называется SectionListViewController, а другой называется SectionViewController –

Смежные вопросы