gpt4 book ai didi

ios - 在 iOS 中切换 View

转载 作者:行者123 更新时间:2023-11-29 11:21:32 24 4
gpt4 key购买 nike

我正在制作我的第一个 iOS 应用程序,它适用于 iPad。这是一个内存游戏。它有几个选项的封面,根据您选择的选项,它会向您发送不同的页面/ View 。在整个应用程序中,用户将浏览不同的页面/ View 。应用程序的整个界面都是定制的,所以我想要导航栏或其他任何东西。我正在使用 xCode 3.2.5。我已经在界面生成器中创建了 View 。我已将封面附在应用程序上,因此在启动页面之后会出现。

如何在 View 之间切换?

感谢您能给我的任何帮助。

编辑 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];
}

最佳答案

好的。首先,您能否更清楚地了解自己想要什么。

据我了解,您并不是要导航进/出 Controller ,您只是为 RootViewController 准备了几个 View ,然后您想在它们之间切换。

导航 Controller 在您有连续的 View 流时使用,例如从 View 1 移动到“ View 2”,等等。例如- contactsBook-->contactDetails-->editContact--> 依此类推..

但感觉,在您的情况下, View /页面是分开的并且没有任何连接,因此不会有任何顺序流,而是 view1-->view5-->view2--> 的随机流。 .

如果是这种情况,如果您已经构建了 View ,则只需将每个 View 与其父 Controller (在您的情况下为 coverController)连接起来即可。

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

因此,在 view1.h 中(添加这些):

import "cover.h"

@class cover;

@interface view1 : UIView {

cover *coverController;
}

@property(nonatomic, assign)cover *coverController;

@end

在cover.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' 方法中,添加 2 行

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

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

完成。

在view1的view1ButtonPressed方法中——

-(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 文件中,您将实现您打算做的事情。

概念很简单,我们正在做的是——点击按钮,我们从 super View 中删除当前 View ,转到 super ​​ View 本身(它只是 Controller 的 View ),并添加其他 View 作为 subview 我们的选择。

只有 1 个 Controller 和许多 View ,我们正在切换这些 View 的黑白。

关于ios - 在 iOS 中切换 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6929386/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com