Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/119.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在iOS中更改视图_Ios_Ipad_Views - Fatal编程技术网

在iOS中更改视图

在iOS中更改视图,ios,ipad,views,Ios,Ipad,Views,我正在制作我的第一个iOS应用程序,它是针对iPad的。这是一个记忆游戏。它的封面上有几个选项,根据您选择的选项,它会向您发送不同的页面/视图。在整个应用程序中,用户将浏览不同的页面/视图。应用程序的整个界面将是定制的,所以我想要导航栏或任何东西。我使用的是xCode 3.2.5。我已经在interface builder中创建了视图。我已经将封面附在了应用程序上,所以在启动页面之后它就会出现 如何在视图之间切换 谢谢你能给我的任何帮助 编辑1: 下面是一些我认为相关的代码 这是AppDeleg

我正在制作我的第一个iOS应用程序,它是针对iPad的。这是一个记忆游戏。它的封面上有几个选项,根据您选择的选项,它会向您发送不同的页面/视图。在整个应用程序中,用户将浏览不同的页面/视图。应用程序的整个界面将是定制的,所以我想要导航栏或任何东西。我使用的是xCode 3.2.5。我已经在interface builder中创建了视图。我已经将封面附在了应用程序上,所以在启动页面之后它就会出现

如何在视图之间切换

谢谢你能给我的任何帮助

编辑1:

下面是一些我认为相关的代码

这是AppDelegate.m文件,我遗漏了没有编辑的方法

@synthesize coverController=_coverController;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    

// Override point for customization after application launch.
cover *aCoverController = [[cover alloc] initWithNibName:@"cover" bundle:nil];
self.coverController = aCoverController;
// Or, instead of the line above:
// [self setcover:aCoverController];
[aCoverController release];

self.window.rootViewController = self.coverController;
[self.window makeKeyAndVisible];

return YES;
}

- (void)dealloc {

[managedObjectContext_ release];
[managedObjectModel_ release];
[persistentStoreCoordinator_ release];
[_coverController release];

[window release];
[super dealloc];
}

您应该使用导航控制器,这是构建具有多个视图的应用程序的最简单方法。没有任何东西说你必须显示导航栏,你可以创建自定义按钮,在堆栈上或堆栈外弹出视图

我一直在用不同的方法来做这件事,这不值得付出努力。我强烈推荐导航控制器


帮我弄明白了,但试着用谷歌搜索一下什么最适合你。

好的。1只有这样,你才能更清楚地知道你想要什么

从我得到的信息来看,您不需要在控制器中导航,您只需要为RootViewController准备一些视图,然后您需要在它们之间切换

当您拥有连续的视图流时,如从“视图1”移动到“视图2”等,将使用导航控制器。例如-联系人簿-->联系人详细信息-->编辑联系人-->等等

但在您的情况下,它会感觉到视图/页面是独立的,没有任何连接,因此不会有任何顺序流,而是一个随机流,例如view1-->view5-->view2-->

如果是这种情况,如果已经构建了视图,则只需将每个视图与其父控制器(在您的示例中为coverController)连接即可

最简单的方法是-假设您有3个视图,view1 view2 view3,每个视图都有一个或多个按钮来切换黑白视图。 一种方法是在每个视图中都有coverController的参考。可能有更优雅的方法,但这1将是最容易理解和实现的

因此,在view1.h中(添加以下内容):

在封面h中,添加

import "view1.h"

@class view1;

@interface cover : UIViewController{

 IBOutlet view1 *firstView;
}

@property(nonatomic, retain) IBOutlet view1 *firstView;

@end
最后在cover.m中,添加

@implementation cover

@synthesize view1;
在cover.m中的“viewDidLoad”方法中,添加两行

self.view1.frame = CGRectMake(0,0,768,1024); //set whatever frame you want

self.view1.coverController = self;   //concept of reference-paring  
完成了

在view1的view1按钮按下方法中-

-(IBAction)view1ButtonPressed{

 // remove the current view from the superview

 [self removeFromSuperView];

 //go to superView, to load anotherview

 [coverController view1ButtonWasPressed];

}
在cover.m中:

-(void)view1ButtonWasPressed{

 //after doing the same process for view2

 [self.view addSubview:view2];
}
如果您在nib文件中建立了正确的连接,您将实现您开始要做的事情

概念很简单,我们正在做的是-点击按钮,我们从superview中删除当前视图,转到superview本身(这只是控制器的视图),然后添加一些我们选择的其他视图作为子视图


只有一个控制器和许多视图,我们正在切换这些视图。

这是我想要的。我的视图中有按钮,在视图中间,如果按钮被点击,用UnavigigPrimultMyValueCopy*AvVIEW控制器= [[MyVIEW控制器OLC] ]与NIbNe: @“MyVIEW控制器”捆绑:NILL移动到这个视图;[self.navigationController pushViewController:aViewController动画:否];[aViewController释放];我试过了。我没有工作。我尝试将它放置在我的enter按钮中连接的sender方法中
-(iAction)按钮按下:(id)sender{cover*coverController=[[cover alloc]initWithNibName:@“cover”bundle:nil];[self.navigationController pushViewController:coverController动画:否];[coverController释放];}
我尝试将其放在
-(void)tableView:(UITableView*)tableView
方法中,在该方法中,我将
self替换为。navigationController
是按钮“我没有工作[sic]”的名称,它对任何人都没有帮助。有什么不起作用?你收到了什么错误消息?很抱歉。它不会给出任何错误消息或警告。它构建并运行。当我点击“回车”按钮时,什么也没发生它不会进入下一个视图谢谢,这和我想要的完全一样。抱歉说不清楚。
-(void)view1ButtonWasPressed{

 //after doing the same process for view2

 [self.view addSubview:view2];
}