作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我希望能够(作为 Controller 的学习练习)在我设置的初始 View 上有一个按钮,然后如果您单击该按钮,则会发生一个操作,将 View 从 View 1 交换到 View 2。我不知道你怎么会这样?请参阅下面的代码部分,我想在其中插入执行此操作的代码。
任何人都可以发布我需要的代码吗? (即,它将涵盖如何引用我在 AppDelegate 中建立的变量)。如果我给自己做的这个练习有什么缺陷,请告诉我。谢谢。
AppDelegate *.h
#import <UIKit/UIKit.h>
@class gregsController;
@class Gregs2ndController;
@interface windowsBasedAppDelegate : NSObject <UIApplicationDelegate> {
UIWindow *window;
gregsController *viewController;
Gregs2ndController *view2Controller;
}
@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet gregsController *viewController;
@property (nonatomic, retain) IBOutlet Gregs2ndController *view2Controller;
@end
AppDelegate *.m
#import "windowsBasedAppDelegate.h"
#import "gregsController.h"
#import "Gregs2ndController.h"
@implementation windowsBasedAppDelegate
@synthesize window;
@synthesize viewController;
@synthesize view2Controller;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
NSLog(@"windowsBasedAppDelegate - didFinishLaunchingWithOptions");
//[self.window addSubview:viewController.view];
[self.window addSubview:view2Controller.view];
[self.window makeKeyAndVisible];
return YES;
}
自定义 Controller *.m
#import "gregsController.h"
@implementation gregsController
- (IBAction)logSomething {
NSLog(@"About to switch views");
[self.view removeFromSuperview];
// *** HOW DO I REFERENCE view2Controller AND PUT THIS AS THE VIEW ???? ****
NSLog(@"Finished switching views");
}
最佳答案
您可以通过UIApplication在任何您想要的地方获得对您的应用程序委托(delegate)的引用。单例:
#import "gregsController.h"
@implementation gregsController
- (IBAction)logSomething {
NSLog(@"About to switch views");
[self.view removeFromSuperview];
// *** HOW DO I REFERENCE view2Controller AND PUT THIS AS THE VIEW ???? ****
// Like this:
windowsBasedAppDelegate* appDelegate = (windowsBasedAppDelegate*)[[UIApplication sharedApplication] delegate];
[appDelegate.window addSubview:appDelegate.view2Controller.view];
NSLog(@"Finished switching views");
}
关于iphone - 如何从自定义 Controller 操作引用 AppDelegate 实例变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5063087/
我是一名优秀的程序员,十分优秀!