IOS视图与视图控制器,多视图的应用

frame 属性来确定 子视图 相对于 父视图 的位置及大小(x,y,w,h)本身和子视图跟着动
frame下的bounds用来设置子视图的
子视图 中的 bounds 是以父视图的 上角为 中心
bounds 属性来指定视图将要显示自身的哪一个区域   (x,y,w,h)本身不动,让子视图动,

UIView: 用来展示应用的用户界面,同时也负责界面的交换
                     
eg:clipsToBounds 自动剪裁,子视图多余父视图部分剪裁掉
        alpha 透明度
        autoresizesSubviews 准许子类View自动布局(父类)
        autoresizingMask 设置自动布局方式(子类)
    [NSTimer scheduledTimerWithTimeInterval:<#(NSTimeInterval)#> target:<#(id)#> selector:<#(SEL)#> userInfo:<#(id)#> repeats:<#(BOOL)#>];

-(void)addSubview:(UIView *)view;  添加视图
快速查找子视图,tag属性赋值,值是唯一的
-(UIView *)viewWithTag:(NSInteger)tag;
initWithFrame: 通过frame初始化视图
insertSubview:atIndex: 插入视图
insertSubview:aboveSubview: 插入视图在某个子视图的上面
insertSubview:belowSubview:插入视图在某个子视图的下面
bringSubviewToFront:把子视图放在最前
bringSubviewToBack:最后
exchangeSubviewAtIndex:withSubviewAtIndex:  交换两个视图的前后顺序
removeFromSuperview: 从父视图中移除

UIViewController :视图控制器,只要控制多界之间相互切换,同时视图控制器中的View用作显示UI界面
视图切换:
           ——— ViewController * viewcontroller = [[———— ViewController alloc ] init ];
         viewcontroller. modalTransitionStyle = UIModalTransitionStyleFlipHorizontal ;//翻转
                UIModalTransitionStyleCoverVertical(由下而上)
                UIModalTransitionStyleCrossDissolve(渐变)
                UIModalTransitionStylePartialCurl(书签式翻转)

    [self presentViewController:sub animated:YES completion:^{

     }];  

    [viewcontroller release];


UINavigationController 导航控制器继承于视图控制器
航控制器是作为栈( stack) 来实现的 (push pop)
           导航条默认的高 44   宽: 320
层次结构:
   ⬆️   a .  UINavigationBar(navigationItem内容)
    中   b .  NavigationView
    ⬇️  c  . UIToolBar

创建导航根控制器:
   eg: UINavigationController *navigation = [[ UINavigationController alloc ] initWithRootViewController :根视图控制];
     self . window . rootViewController = navigation;
     [navigation release];

导航入栈:
[ self . navigationController pushViewController :视图控制  animated : YES ];

导航直接返回到跟视图控制:
[ self . navigationController popToRootViewControllerAnimated : YES ];

栈的跳转: //注意:跳转的视图必须是前面就存在的

    NSArray *array = self.navigationController.viewControllers;   

    [self.navigationController popToViewController:[array objectAtIndex:__int_] animated:YES];


•模态视图,
                  是指再用户想要对该视图以外的视图进行操作时,必须首先对该视图进行响应。如单击确定或取消按钮等将该视图关闭。
           作用:
                收集用户输入的信息,临时呈现一些内容,临时改变工作模式,显示一个新的view层级
         弹出 视图:     
  [ self   presentViewController :视图  animated : YES   completion : nil ];
        返回视图 [ self   dismissViewControllerAnimated : YES   completion : nil ];

设置导航条中的标题:
a [ self . navigationItem setTitle : @“ ………. ]; ( setView 设置导航条中的视图)
b self . title = @“标题” ;

设置导航条风格模式:
self . navigationController . navigationBar . barStyle  =  UIBarStyle Default ;

设置导航条中的按钮
通过初始化标题的方法得到一个 UIBarButtonItem 实例,
 eg:done   按钮一直处于 蓝色   plain 风格时,按钮的颜色会随着导航的风格变化

     UIBarButtonItem *item = [[UIBarButtonItem alloc]initWithTitle:@"左侧" style:UIBarButtonItemStylePlain target:self action:@selector(itemClick:)];    

   self.navigationItem.leftBarButtonItem = item;

数组中得到元素在导航条中由右到左显示   

  NSArray *itemArray = [NSArray arrayWithObjects:item1,……., nil];  

  self.navigationItem.rightBarButtonItems = itemArray;


UITabBarController:标签栏控制器,用于控制多视图切换
    通过标签栏项的形式来管理视图控制器,各个标签栏项之间的视图控制器彼此孤立,互不影响
  TabBar的高度为49像素,TabBarItem图片的最适宜大小为30*30像素,Retina屏为60*60

    UITabBarController *tab = [[UITabBarController alloc]init]; //创建  

    SecondViewController *second = [[SecondViewController alloc]init];  

    NSArray *array = [NSArray arrayWithObjects:nav,second,nil];  

    tab.viewControllers = array; //加载,类型是数组类型

UITabBarItem:( 最多加载5个
标题:
   --- .tabBarItem.title 属性取值,取得到值

   ---.title属性取值,取不到值   ---.title相当于对tabBarItem.titlenavigationItem.title同时进行赋值

图片得赋值:

  a ---.tabBarItem.image = [UIImage imageNamed:@“---.png”];

  b 两种状态赋上不同得值   

    [---.tabBarItem setFinishedSelectedImage:[UIImage imageNamed:@“---.png"withFinishedUnselectedImage:[UIImage imageNamed:@“---.png"]];

设置微标;  

   ---.tabBarItem.badgeValue = @“---.”;

设置第几个被选中的状态  

   ---.selectedIndex = 0;(默认0)

通过指定视图控制器的形式来设置被选中的bar   

   ---.selectedViewController = 视图控制器;


UITarBar:

    为标签栏加图片   

---.tabBar.backgroundImage = [UIImage imageNamed:@“---.png"];    设置标签栏选中的颜色    ---.tabBar.selectedImageTintColor = [UIColor purpleColor];    设置选中的图片发生改变    ---.tabBar.selectionIndicatorImage = [UIImage imageNamed:@“---.png”];


UITabBar的隐藏 : 
     self.hidesBottomBarWhenPushed = YES;
   //在视图控制器的实例加入到导航控制器的栈容器之前,设置

系统创建UITabItem得实例   

  UITabBarItem *--- = [[UITabBarItem alloc]initWithTabBarSystemItem:UITabBarSystemItemHistory tag:---];

   // 通过系统样式初始化方式,再设置 title image 属性,设置是无效的
 self . tabBarItem = *---;

设置工具栏:
显示
    [self.navigationControl setToolbarHidden:NO];
工具栏加载:
  self.toolItem = 数组;

UITabBarControllerDelegate:
关闭软件后记住选择:
  - ( void )tabBarController:( UITabBarController *)tabBarController didSelectViewController:( UIViewController *)viewController

    NSLog ( @"selectedTitle:%@" ,viewController. title );

    NSUserDefaults *defatults = [NSUserDefaults standardUserDefaults]; 

    if (viewController.title) {     

       [defatults setObject:viewController.title forKey:SELECTED];         

       [defatults synchronize]; //将数据同步给应用程序
   }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值