首页 > 其他 > 详细

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

时间:2014-02-20 11:40:54      阅读:341      评论:0      收藏:0      [点我收藏+]

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

}
-------------------------------------------------------------------------------------



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

原文:http://blog.csdn.net/ma969070578/article/details/19497071

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!