天天看點

Iphone多個view之間跳轉傳值[登陸]

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

效果圖:

Iphone多個view之間跳轉傳值[登陸]
Iphone多個view之間跳轉傳值[登陸]
Iphone多個view之間跳轉傳值[登陸]
Iphone多個view之間跳轉傳值[登陸]

單例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,如需轉載請自行聯系原作者

繼續閱讀