Я очень новичок в программировании iOS (исходя из Java/С++). Я пытаюсь настроить приложение с помощью TabBarController, одна из вкладок которого должна быть SplitView. Я провел свое исследование и знаю, что UISplitview не будет работать, и везде люди рекомендуют использовать MGSplitViewController. Я просмотрел демонстрацию, но я просто не могу понять, как ее использовать, если она не является корневым представлением приложения, и не могу найти какой-либо пример кода, который мог бы помочь. Итак, вот что я делаю с классами из демонстрации в отдельный класс UIViewController, который я потом добавляю в TabBarController: Это мой класс:
#import <UIKit/UIKit.h>
#import "MGSplitCornersView.h"
#import "RootViewController.h"
#import "DetailViewController.h"
@interface ChannelViewController : UIViewController {
MGSplitViewController *splitViewController;
RootViewController *rootViewController;
DetailViewController *detailViewController;
}
@property (nonatomic, retain) MGSplitViewController *splitViewController;
@property (nonatomic, retain) RootViewController *rootViewController;
@property (nonatomic, retain) DetailViewController *detailViewController;
@end
И это моя отчаянная попытка настроить его
- (id)initWithTabBar
{
self = [super init];
//this is the label on the tab button itself
self.title = @"SplitView";
//use whatever image you want and add it to your project
//self.tabBarItem.image = [UIImage imageNamed:@"name_gray.png"];
// set the long name shown in the navigation bar at the top
self.navigationItem.title=@"Nav Title";
self.splitViewController = [[MGSplitViewController alloc] init];
self.rootViewController = [[RootViewController alloc] init];
self.detailViewController = [[DetailViewController alloc] init];
[self.splitViewController setDetailViewController:detailViewController];
[self.splitViewController setMasterViewController:rootViewController];
[self.view addSubview:splitViewController.view];
[self.rootViewController performSelector:@selector(selectFirstRow) withObject:nil afterDelay:0];
[self.detailViewController performSelector:@selector(configureView) withObject:nil afterDelay:0];
if (NO) { // whether to allow dragging the divider to move the split.
splitViewController.splitWidth = 15.0; // make it wide enough to actually drag!
splitViewController.allowsDraggingDivider = YES;
}
return self;
}
Думаю, я делаю что-то не так с делегатами? Или я еще что-то перепутал? Делает ли демо в IB то, чего я не вижу в коде? Я получаю разделенный вид, но без контента и, особенно, без панели навигации с кнопками, которые есть в демоверсии.
Буду очень благодарен за подсказки или пример кода!