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

来源:互联网 发布:不良资产处置 知乎 编辑:程序博客网 时间:2024/04/30 13:45

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的声明    IBOutletUISegmentedControl *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];}-------------------------------------------------------------------------------------



0 0
原创粉丝点击