• 热门专题

ios学习笔记控件 全屏及动画

作者:  发布日期:2014-02-19 20:29:25
Tag标签:学习笔记  控件  全屏  
  • 1、控件

     ------------------------
    控件的名字 
    
    #pragma mark -
    #pragma mark UIImageView的声明
    	IBOutlet UIImageView *viewImg;
    	
    #pragma mark -
    #pragma mark UIActivityIndicatorView (指示器)的声明
    	
    	IBOutlet UIActivityIndicatorView *activity;
    #pragma mark -
    #pragma mark UIProgressView的声明
    	IBOutlet UIProgressView *progress;
    #pragma mark -
    #pragma mark UISwitch的声明
    	IBOutlet UISwitch *sw;
    #pragma mark -
    #pragma mark UISegmentedControl的声明
        IBOutlet	UISegmentedControl *segment;
    #pragma mark -
    #pragma mark UISlider的声明
    	IBOutlet UISlider *slider;
    -------------------------
    - (void)viewDidLoad {
        [super viewDidLoad];
    	
    	self.view.backgroundColor=[UIColor redColor];
    	[self createImageView];
    	[self setButtonBG];
    	self.view.frame = [[UIScreen mainScreen] applicationFrame];//得到屏幕的对象 并得到屏幕的窗口的大小 之后赋给本视图的 大小     
    	
    // 时间控制器  每隔一定的时间去执行某个方法
    
    timer=[NSTimer 
    		   scheduledTimerWithTimeInterval:.1 
    		   target:self 
    		   selector:@selector(progressChange) 
    		   userInfo:@"进度测试 " 
    		   repeats:YES];
    	
    	
    	//让圆形进度条转动
    	
    	
    	
    	[activity startAnimating];//开始效果
    	//self.view.frame=CGRectMake(0, 0, 320, 480);
    }
    -----------------
    #pragma mark -
    #pragma mark 图片添加方法 
    -(void)initViewByImage{
    	UIImage *image=[UIImage imageNamed:@"Email_04.png"];
    	UIImage *newImg=[image stretchableImageWithLeftCapWidth:20 topCapHeight:20];//图片拉伸
    	//UIImage *newImg2=[image stretchableImageWithLeftCapWidth:100 topCapHeight:100];
    	viewImg.image=newImg;
    
    
    }
    -------------------
    #pragma mark -
    #pragma mark 指示器对应方法
    -(void)activityChange{
    	[activity startAnimating];//指示器开始旋转
    
    }
    ------------------
    
    #pragma mark -
    #pragma mark 指示器对应方法
    -(void)activityChange{
    	[activity startAnimating];//指示器开始旋转
    
    }
    -------------------
    #pragma mark -
    #pragma mark 开关按钮对应的方法 UISwitch控件事件的调用方法
    
    -(IBAction)switchChange:(id)sender{
    	
    	UISwitch  *swi=(UISwitch *)sender;
    	BOOL ison=swi.on;
    	//[sw setOn:ison animated:YES];
    	//NSLog(@"==========");
    	if (ison) {//开的时候
    		NSLog(@"开");[self progressChange];[activity startAnimating];
    		
    	}else {
    		NSLog(@"关");
    		[activity stopAnimating];
    		//progress.progress=0;
    		//[activity stopAnimating];		//......关的 时候
    	}
    
    	
    }
    ----------------------
    #pragma mark -
    #pragma mark 选项卡控件
    -(IBAction)segmentChange:(id)sender{
    	segment =(UISegmentedControl *)sender;
    	int index=segment.selectedSegmentIndex;
    	switch (index) {
    		case 0:
    			
    			break;
    		case 1:
    			//	
    			break;
    		case 2:
    			//	
    			break;
    		case 3:
    			//	
    			break;
    	
    		default:
    			break;
    	}
    	NSLog(@"%d",index);
    }
    --------------------
    #pragma mark -
    #pragma mark slider调用的方法
    -(IBAction)sliderChange:(id)sender{
    	slider=(UISlider *)sender;
    	NSLog(@"%f",slider.value);
    	
    	progress.progress=slider.value;
    }
    ----------------
    #pragma mark -
    #pragma mark UITextField将虚拟键盘取消
    -(IBAction)textFieldCancel{
    	NSLog(@"=[=======");
    	//userNameTextFiled=(UITextField *)sender;
    	[userNameTextFiled resignFirstResponder];
    	[passWordTextFiled resignFirstResponder];
    
    
    }
    ---------------------------------------
    //UITabBarController 组建的使用
    
    
    	LoginButtonViewController *one=[[LoginButtonViewController alloc] initWithNibName:@"LoginButtonViewController" bundle:nil];
    	one.tabBarItem.title=@"视图一";
    	one.tabBarItem.image=[UIImage imageNamed:@"Hein22.jpg"];
    	//先得到入口类的对象  所谓入口类就是实现过UIApplicationDelegate协议的类
    	//app对象是已经存在的  不是再次定义的  
    	TwoViewController *two=[[TwoViewController alloc] initWithNibName:@"TwoViewController" bundle:nil ] ;
    	two.tabBarItem.title=@" 视图二";
    	two.tabBarItem.image=[UIImage imageNamed:@"21.png"];
    	//UITabBarController 组建的使用
    	UITabBarController *bar=[[UITabBarController alloc] init];
    	NSArray *array=[[NSArray alloc] initWithObjects:one,two,nil];
    	//[array ];
    	bar.viewControllers=array;
    	//bar.selectedIndex=1;
    	[apps.window addSubview:bar.view	];//切换view
    
    
    ----------------------------------------------------
    

    2、全屏

    --------------------------
    全屏代码演示
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
        
        // Override point for customization after application launch.
    	
    	
    	//将view的状态栏隐藏
    	UIApplication *app=[UIApplication sharedApplication] ;
    	[app setStatusBarHidden:YES];
    //YES 表示是将信号栏隐藏
    	//self.window.frame = [[UIScreen mainScreen] applicationFrame];//得到屏幕的对象 并得到屏幕的窗口的大小 之后赋给本视图的大小     
    
    	///////////////////////这行代码 系统可以帮助自动建立   现在是手动建立 
    	window=[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];//这个是将主窗口全屏
    //self.view.frame = [[UIScreen mainScreen] applicationFrame];//得到屏幕的对象 并得到屏幕的窗口的大小 之后赋给本视图?的 大小     
    //这个是将视图全屏 	
    	////////////////////
        root=[[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
    	[window addSubview:root.view];
        [window makeKeyAndVisible];
        
        return YES;
    }
    //另一个方法是在XXX-info.plist文件中添加一行 找到Status bar is initially hidden属性  之后对应的勾选即可 (。。。不要说不会添加啊    汗!!!)
    -----------------------------
    


    3、动画

    设置动画延时执行
    [self performSelector:@selector(fade) withObject:self afterDelay:2];
    //self 是 UIView
    --------------------------------------------------------------------------
    
    -(void)fade
    {
    	//启动视图动画
    	[UIView beginAnimations:nil context:nil];//31为动画的一个id
    	//设置动画总时间
    	[UIView setAnimationDuration:2];
    	//如果希望动画结束的时候能自动调用方法 要有一下方法
    //
    	[UIView setAnimationDelegate:self];//设置动画委托 可以调用本地的一个方法
    	[UIView setAnimationDidStopSelector:@selector(gotoLoginView)];//设置动画停止完成之后的调用的方法
    	
    //这两个方法是配套的
    self.view.alpha=0.3;
    	//提交动画
    	[UIView commitAnimations];
    	
    }
    ----------------------------------------------
    #pragma mark -
    #pragma mark 从当前界面切换到登陆界面 并使用动画旋转 
    -(void)gotoLoginView{
    	LoginAppDelegate *app=(LoginAppDelegate *)([[UIApplication sharedApplication] delegate]);//单例模式  获得系统唯一的对象 此对象可以调用delegate 获得入口类的对象这个对象是入口类中的那个对象
    	LoginViewController *loginView=[[LoginViewController alloc] initWithNibName:@"LoginViewController" bundle:nil];
    
    	[UIView beginAnimations:nil context:nil];
    	[UIView setAnimationDuration:2];//设置动画执行时间
    	[UIView 
    	 setAnimationTransition:UIViewAnimationTransitionCurlDown 
    	 forView:app.window cache:YES];	//提交动画并设置动画转换方式 基于window(必须是window 必须是主窗口  动画是基于window上的 就是说 效      果是发生在window上的  
    ) 旋转  
    	
    	
    	//先得到入口类的对象  所谓入口类就是实现过UIApplicationDelegate协议的类
    	//app对象是已经存在的  不是再次定义的  
    	[app.window addSubview:loginView.view];//切换view
    	[self.view removeFromSuperview];//将本视图 从父窗口中删除
    	[UIView commitAnimations];
    
    }
    -------------------------------------------------------------------------------------
    


About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规