在第一個界面登陸,在第二個界面顯示名字,并且根據不同的名字顯示不同的圖檔 (最好不要加toolbar)
效果圖:

單例Number.h:
#import <Foundation/Foundation.h>
@interface Number : NSObject
{
NSString *name;
NSString *password;
}
@property(nonatomic,retain)NSString *name;
@property(nonatomic,retain)NSString *password;
+(Number *)getNumber;
@end
Number.m:
#import "Number.h"
@implementation Number
+(Number *)getNumber
static Number * a;
if (a == Nil) {
a = [Number alloc];
}
return a;
DXWViewController.h:
#import <UIKit/UIKit.h>
@class BlueViewController;
@class YellowViewController;
@interface DXWViewController : UIViewController
@property(retain,nonatomic)BlueViewController *blueViewController;
@property(retain,nonatomic)YellowViewController *yellowViewController;
- (IBAction)blueClick:(id)sender;
- (IBAction)yellowClick:(id)sender;
- (IBAction)redClick:(id)sender;
- (IBAction)click:(id)sender;
- (IBAction)btnOK:(id)sender;
- (IBAction)btnCancel:(id)sender;
@property (retain, nonatomic) IBOutlet UITextField *txtName;
@property (retain, nonatomic) IBOutlet UITextField *txtPassword;
//退出鍵盤
- (IBAction)returnBoard:(id)sender forEvent:(UIEvent *)event;
DXWViewController.m:
#import "DXWViewController.h"
#import "BlueViewController.h"
#import "YellowViewController.h"
@interface DXWViewController ()
@implementation DXWViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
return self;
- (void)viewDidLoad
[superviewDidLoad];
//如果記憶體警告,則調用這個方法,可以讓你自己清掉一些不需要用的記憶體
- (void)didReceiveMemoryWarning
[superdidReceiveMemoryWarning];
NSLog(@"記憶體告急");
//如果記憶體警告則釋放無用資源
if (self.blueViewController.view.superview != nil) {
[self.yellowViewController.viewremoveFromSuperview];
elseif(self.yellowViewController.view.superview != nil){
[self.blueViewController.viewremoveFromSuperview];
- (IBAction)click:(id)sender {
// NSLog(@"hello");
[UIView beginAnimations:@"anim"context:nil];
//一個動畫的持續時間
[UIView setAnimationDuration:1.5f];
//一個動畫的運動随時間快慢曲線
[UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
//動畫方式
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeftforView:self.viewcache:YES];
//如果目前view的父view存在
//如果沒建立則建立
if (self.yellowViewController ==nil) {
self.yellowViewController = [[[YellowViewControlleralloc]initWithNibName:@"YellowViewController"bundle:nil]autorelease];
}
[self.viewinsertSubview:self.yellowViewController.viewatIndex:10];
elseif (self.yellowViewController.view.superview != nil) {
// [UIView beginAnimations:@"anim" context:nil];
// //一個動畫的持續時間
// [UIView setAnimationDuration:2.5f];
// //一個動畫的運動随時間快慢曲線
// [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
//動畫方式
[UIView setAnimationTransition:UIViewAnimationOptionTransitionCurlUpforView:self.viewcache:YES];
if (self.blueViewController ==nil) {
self.blueViewController = [[[BlueViewControlleralloc]initWithNibName:@"BlueViewController"bundle:nil]autorelease];
[self.viewinsertSubview:self.blueViewController.viewatIndex:10];
[UIView commitAnimations];
//動畫效果啟動
[UIView commitAnimations];
- (IBAction)btnOK:(id)sender {
// //一個動畫的運動随時間快慢曲線
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUpforView:self.viewcache:YES];
[Number getNumber].name =self.txtName.text;
[Number getNumber].password =self.txtPassword.text;
self.blueViewController = [[[BlueViewControlleralloc]initWithNibName:@"BlueViewController"bundle:nil]autorelease];
[self.viewinsertSubview:self.blueViewController.viewatIndex:10];
self.txtName.text =@"";
self.txtPassword.text =@"";
[self.txtPasswordresignFirstResponder];
[self.txtNameresignFirstResponder];
// if (self.txtName == @"apple") {
// self.blueViewController.img2.hidden = YES;
// }
// else if (self.txtName == @"dog"){
// self.blueViewController.img.hidden = YES;
// else
// {
self.blueViewController.img2.hidden =YES;
self.blueViewController.img.hidden =YES;
- (IBAction)btnCancel:(id)sender {
- (IBAction)blueClick:(id)sender {
NSLog(@"blue");
[self.blueViewController.viewremoveFromSuperview];
- (IBAction)yellowClick:(id)sender {
NSLog(@"yellow");
//加上這句就可以紅黃藍任意點選
[self.yellowViewController.viewremoveFromSuperview];
self.yellowViewController = [[[BlueViewControlleralloc]initWithNibName:@"YellowViewController"bundle:nil]autorelease];
[self.viewinsertSubview:self.yellowViewController.viewatIndex:10];
//主視圖控制器
- (IBAction)redClick:(id)sender {
NSLog(@"red");
[self.yellowViewController.viewremoveFromSuperview];
- (void)dealloc {
[_txtName release];
[_txtPassword release];
[_yellowViewControllerrelease];
[_blueViewController release];
[super dealloc];
- (IBAction)returnBoard:(id)sender forEvent:(UIEvent *)event {
BlueController.h:
@class DXWViewController;
@interface BlueViewController : UIViewController
@property (retain, nonatomic) IBOutlet UILabel *lblName;
@property (retain, nonatomic) IBOutlet UIImageView *img;
@property(retain,nonatomic)DXWViewController *dxwViewController;
- (IBAction)btnReturn:(id)sender;
@property (retain, nonatomic) IBOutlet UIImageView *img2;
BlueController.m:
@interface BlueViewController ()
@implementation BlueViewController
-(void)viewDidAppear:(BOOL)animated
self.lblName.text = [NumbergetNumber].name;
//[self.img setImage:[UIImage imageNamed:@"dog.jpg"]];
if ([self.lblName.textisEqualToString:@"apple"]) {
self.img.hidden =NO;
elseif([self.lblName.textisEqualToString:@"dog"]){
self.img2.hidden =NO;
// Dispose of any resources that can be recreated.
[_lblName release];
[_img release];
[_dxwViewController release];
[_img2 release];
- (IBAction)btnReturn:(id)sender {
self.dxwViewController = [[[DXWViewControlleralloc]initWithNibName:@"DXWViewController"bundle:nil]autorelease];
[self.viewinsertSubview:self.dxwViewController.viewatIndex:12];
動态添加ImageView到view中:
UIImage *image = [UIImage imageNamed:@"apple.jpg"];
UIImageView *picView = [[UIImageViewalloc] initWithImage:image];
[self.viewinsertSubview:picView atIndex:13];
picView.frame = CGRectMake(49,62, 200, 160);
源檔案:http://download.csdn.net/detail/s10141303/5946851
本文轉蓬萊仙羽51CTO部落格,原文連結:http://blog.51cto.com/dingxiaowei/1366563,如需轉載請自行聯系原作者