Iphone多个view之间跳转传值[登陆]

在第一个界面登陆,在第二个界面显示名字,并且根据不同的名字显示不同的图片 (最好不要加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;

}

@end

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;

@end

DXWViewController.m:

#import "DXWViewController.h"

#import "Number.h"

#import "BlueViewController.h"

#import "YellowViewController.h"

@interface DXWViewController ()

@end

@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.blueViewController.view.superview
!= nil) {

        //如果没创建则创建

        if (self.yellowViewController ==nil) {

            self.yellowViewController = [[[YellowViewControlleralloc]initWithNibName:@"YellowViewController"bundle:nil]autorelease];

        }

        [self.blueViewController.viewremoveFromSuperview];

        [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.yellowViewController.viewremoveFromSuperview];

        [self.viewinsertSubview:self.blueViewController.viewatIndex:10];

        [UIView commitAnimations];

    }

    //动画效果启动

    [UIView commitAnimations];

}

- (IBAction)btnOK:(id)sender {

    [UIView beginAnimations:@"anim"context:nil];

    //一个动画的持续时间

    [UIView setAnimationDuration:1.5f];

//    //一个动画的运动随时间快慢曲线

    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

    //动画方式

    [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;

//    }

    self.blueViewController.img2.hidden =YES;

    self.blueViewController.img.hidden =YES;

    //动画效果启动

    [UIView commitAnimations];

}

- (IBAction)btnCancel:(id)sender {

    [self.txtPasswordresignFirstResponder];

    [self.txtNameresignFirstResponder];

    self.txtName.text =@"";

    self.txtPassword.text =@"";

}

- (IBAction)blueClick:(id)sender {

    NSLog(@"blue");

    [self.blueViewController.viewremoveFromSuperview];

    self.blueViewController = [[[BlueViewControlleralloc]initWithNibName:@"BlueViewController"bundle:nil]autorelease];

    [self.viewinsertSubview:self.blueViewController.viewatIndex:10];

}

- (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];

    [self.blueViewController.viewremoveFromSuperview];

}

- (void)dealloc {

    [_txtName release];

    [_txtPassword release];

    [_yellowViewControllerrelease];

    [_blueViewController
release];

    [super dealloc];

}

- (IBAction)returnBoard:(id)sender forEvent:(UIEvent *)event {

    [self.txtPasswordresignFirstResponder];

    [self.txtNameresignFirstResponder];

}

@end

BlueController.h:

#import <UIKit/UIKit.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;

@end

BlueController.m:

#import "BlueViewController.h"

#import "Number.h"

#import "DXWViewController.h"

@interface BlueViewController ()

@end

@implementation BlueViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil

{

    self = [super
initWithNibName:nibNameOrNil bundle:nibBundleOrNil];

    if (self) {

        // Custom initialization

    }

    return self;

}

- (void)viewDidLoad

{

    [superviewDidLoad];

    

}

-(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;

    }

}

- (void)didReceiveMemoryWarning

{

    [superdidReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}

- (void)dealloc {

    [_lblName release];

    [_img release];

    [_dxwViewController
release];

    [_img2 release];

    [super dealloc];

}

- (IBAction)btnReturn:(id)sender {

    [UIView beginAnimations:@"anim"context:nil];

    //一个动画的持续时间

    [UIView setAnimationDuration:1.5f];

    //一个动画的运动随时间快慢曲线

    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

    //动画方式

    [UIView setAnimationTransition:UIViewAnimationTransitionCurlUpforView:self.viewcache:YES];

     

    //如果当前view的父view存在

    self.dxwViewController = [[[DXWViewControlleralloc]initWithNibName:@"DXWViewController"bundle:nil]autorelease];

    [self.viewinsertSubview:self.dxwViewController.viewatIndex:12];

    //动画效果启动

    [UIView commitAnimations];

}

@end

动态添加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

时间: 2024-08-03 02:21:21

Iphone多个view之间跳转传值[登陆]的相关文章

viewpager中的fragment之间跳转传值问题?

问题描述 viewpager中的fragment之间跳转传值问题? 有一个是Activity,在里面有viewpager的实现,ViewPager显示的是10个子fragment,ViewPager中使用的是FragmentStatePagerAdapter适配器.现在已经可以左右滑动切换1-10个Fragment了,我现在想实现的功能是:每个Fragment中都有几个button,点击第一个Fragment中的button,相当于右滑了一下,跳到了下一个Fragment.能跳过去了,但是从第一

asp.net 的winform中窗体之间跳转如何传值

asp教程.net 的winform中窗体之间跳转如何传值 使用attribute  public partial class form1 : form    {    private void button1_click(object sender, eventargs e)    {    form2 frm2 = new form2();    frm2.show(this);    }    }    public partial class form2 : form    {    p

Backbone中View之间传值的学习心得_javascript技巧

Backbone中的View就是用来展示由Model层传出的数据,或者在View里产生的一些数据,包括输入框中输入等产生的数据,由当前View传递到另外一个View层里,应该怎么办呢,我之前读到一位博主<Backbone View的三种通信方式 >写的尤为的清晰,在我实际的项目中,常常使用的也就是最后一种方式. 嘿嘿,分享知识是一件快乐的事情,我就直接借鉴表述一下如下: 直接用 Backbone 作为事件注册机, 代码如下: var ApplicationView = Backbone.Vie

android应用-Fragment之间跳转,并传值问题

问题描述 Fragment之间跳转,并传值问题 新手开发遇到问题: 从Fragment A跳转到 Fragment B getParentFragment().getFragmentManager().beginTransaction() .add(R.id.main_fragment, fragmentB).addToBackStack(null) .commitAllowingStateLoss(); 从B再返回到A,此时要根据fragment B 中的输入改变 fragment A中的值

Android 模仿iPhone列表数据View刷新动画详解_Android

因为我本人很喜欢在不同的页面之间跳转时加点好玩的动画,今天无意间看到一个动画效果感觉不错,几种效果图如下:既然好玩就写在博客中,直接说就是:该效果类似于iPhone中View的切换动画效果,今天就只介绍上面展示的效果. 废话不多说,先上效果,再看代码!! 效果一: 效果二: 效果三: 效果四:(犯错的效果): 效果五(回旋效果一): 效果六(回旋效果二): 效果看完了,就来看下上面效果实现的具体代码吧, 中间会把我自己试验的.犯的错误都以注释的形式写下来的, 大家使用的时候别出错就行了!先来看下

HTML网页与FLASH之间的“静态”传值

静态|网页 在论坛上经常看见有新手问到"我想让FLASH得到URL中的参数ID号,该怎么办?""某某视频网站的FLASH播放器是如何播放不同ID的视频的?"...诸如此类问题看到了太多,每次都有一堆回帖,众说纷纭,里面难免有误导性质的回复.今天特结合自己平时工作中使用的心得对此类问题做一个小小的归纳. 我所指的静态传值是区别于与服务端通信进行值传递的方式,例如LoadVars,XML,Remoting之类,后者暂且不在本文的讨论范围内,当你想让FLASH获取URL中

为自己搭建一个鹊桥 -- Native Page与Web View之间的JSBridge实现方式

原文:为自己搭建一个鹊桥 -- Native Page与Web View之间的JSBridge实现方式 说起JSBridge,大家最熟悉的应该就是微信的WeixinJSBridge,通过它各个公众页面可以调用后台方法和微信进行交互,为用户提供相关功能.我们就来说说UWP下怎么样实现我们自己的JSBridge. 在win10之前,如果需要实现JSBridge,我们大概有两种方法: 1. window.external.notify 做过webview的小伙伴肯定都熟悉,html页面可以通过wind

Backbone View 之间通信的三种方式_javascript技巧

在上篇文章给大家介绍了Backbone中View之间传值的学习心得.本文重点给大家介绍Backbone View 之间通信的三种方式. 掌握一个 MVC 框架,最关键的一节就是掌握如何在各个 View 之间通信.之前用 Angular 时,觉得基于事件的通信方式 ($on, $emit, $boardcast) 或者 基于 service 的方式都非常好用.转战 Backbone 之后,由于对 Backbone 的事件机制理解不够且使用非常灵活,一直没找到一个好的通信方式.直到看见这篇文章,作者

用intent实现在两个activities之间跳转

用intent实现在两个activities之间跳转   项目目录     AndroidManifest.xml   <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="gogler.myAndroid"     and