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.title和navigationItem.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]; //将数据同步给应用程序
}
}