首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UISplitView in UIViewController

UISplitView in UIViewController
EN

Stack Overflow用户
提问于 2011-07-26 13:09:50
回答 2查看 298关注 0票数 0

你好,我在用Ipad应用程序

我想把UISplitView添加到UIViewController中,它应该是程序设计方法,谁能帮我摆脱这一困境吗?

--我在UIWindow中添加了拆分视图,并且工作得很好,但是我需要将UISplitView添加到UIView控制器,当用户点击主屏幕上的按钮时,它会转到详细视图,细节视图应该是UISplitView

Thx预先

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-08 06:03:01

我建议MGSplitViewController。它有一个类似的API的常规,但有许多额外的。其中之一是将其添加为子视图的能力。

票数 2
EN

Stack Overflow用户

发布于 2012-06-08 05:59:30

嗨,我做的如下所示,它可能帮助you.Just传递参数,如所述,您可以得到您想要的斜视。

.H文件

代码语言:javascript
复制
#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文件

代码语言:javascript
复制
#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

用于家庭视图中的设置拆分

代码语言:javascript
复制
   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];
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6830481

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档