UISplitView в UIViewController - PullRequest
       1

UISplitView в UIViewController

0 голосов
/ 26 июля 2011

Привет, я работаю с приложением Ipad
Я хочу добавить UISplitView в UIViewController, и это должно быть в программном подходе Может ли кто-нибудь помочь мне, как выйти из этого
Я добавил разделенный вид в UIWindow и работал нормально, но мне нужно добавить UISplitView в UIView Controller, когда пользователь нажимает кнопку на главном экране, он переходит к подробному виду, а подробный вид должен быть UISplitView
Спасибо заранее

Ответы [ 2 ]

2 голосов
/ 08 июня 2012

Я бы предложил MGSplitViewController.Он имеет API, похожий на обычный, но со многими дополнениями.Одним из которых является возможность добавить его в качестве подпредставления.

2 голосов
/ 08 июня 2012

Привет, я сделал это, как показано ниже, это может помочь вам. Просто передайте параметр, как описано, и вы можете получить slpitview по вашему желанию.

.H файл

#import <Foundation/Foundation.h>
@class AppDelegate;
@interface CustomSplitView : NSObject
{
AppDelegate *objAppDelegate;
}
+(UIView *) setSplitView : (UIViewController *)masterView : (UIViewController*)DetailView :(CGRect)frame;
+(void) changeSplitView:(UIViewController *)DetailView :(UINavigationController *)navigationController;

@end

.M файл

#import "CustomSplitView.h"
#import "AppDelegate.h"

@implementation CustomSplitView
//*********this return view addsubview on self.view

+(UIView *) setSplitView:(UIViewController *)masterView :(UIViewController *)DetailView :(CGRect)frame
{
objAppDelegate=(AppDelegate *)[[UIApplication sharedApplication] delegate] ;
objAppDelegate.objMasterView=masterView;
objAppDelegate.objDetailView=DetailView;


//Select navigation for every split view
UINavigationController *masterNavigationController = [[[UINavigationController alloc] initWithRootViewController:objAppDelegate.objMasterView] autorelease];
UINavigationController *detailNavigationController = [[[UINavigationController alloc] initWithRootViewController:objAppDelegate.objDetailView] autorelease];
;

objAppDelegate.objSplitView.delegate=objAppDelegate;
objAppDelegate.objSplitView.viewControllers = [NSArray arrayWithObjects:masterNavigationController, detailNavigationController ,nil];

objAppDelegate.objSplitView.view.frame=frame;
return (objAppDelegate.objSplitView.view);
 }

+(void) changeSplitView:(UIViewController *)DetailView :(UINavigationController *)navigationController
{
objAppDelegate=(AppDelegate *)[[UIApplication sharedApplication] delegate] ;

UINavigationController *detailNavigationController = [[[UINavigationController alloc] initWithRootViewController:DetailView] autorelease];

objAppDelegate.objDetailView=detailNavigationController ;

// Update the split view controller's view controllers array.
//    NSArray *viewControllers = [[NSArray alloc] initWithObjects:navigationController, objAppDelegate.objDetailView, nil];
//    objAppDelegate.objSplitView.viewControllers= viewControllers;

objAppDelegate.objSplitView.viewControllers = [NSArray arrayWithObjects:navigationController, objAppDelegate.objDetailView ,nil];

}

@end

для разделения набора в вашем домашнем виде

   Masterview *objFirstView = [[Masterview alloc] initWithNibName:@"Masterview" bundle:nil];
    appdel.masterDelegate = objFirstView;
    Detailview *objSecondView = [[Detailview alloc]
                                          initWithNibName:@"Detailview" bundle:nil];

    UIView *objView=[CustomSplitView setSplitView:objFirstView :objSecondView :self.view.frame];
    [self.view addSubview:objView];
    [objFirstView release];
    [objSecondView release];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...