1.给UIView设置圆角,边框,阴影绘制,需要使用layer
1)设置圆角
cornerView.layer.cornerRadius = 20; //设置试图圆角的大小
cornerView.layer.masksToBounds = YES //防止子元素溢出父试图
将一个正方形设置成圆形,代码为:
cornerView.layer.cornerRadius = cornerView.frame.size.height/2;
cornerView.layer.masksToBounds = YES;
注意,需要 #import <QuartzCore/QuartzCore.h> 导入,否则,不能识别cornerRadius和masksToBounds。
2)绘制边框
borderView.layer.borderWidth = 1.0; //绘制边框的大小
borderView.layer.borderColor = [UIColor blackColor].CGColor; //边框的颜色
3)绘制阴影
shadowView.layer.shadowColor = [UIColor redColor].CGColor;
shadowView.layer.shadowOffset = CGSizeMake(5.0, 5.0); //设置偏移量,可以为负数,控制上下左右偏移
shadowView.layer.shadowOpacity = YES;
2.隐藏键盘的方式,常用的方法
1)重写touchesBegan方法, 点击屏幕的时候隐藏键盘
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
UITouch *touch=[[event allTouches] anyObject];
if (touch.tapCount >=1) {
[meter resignFirstResponder];
[feet resignFirstResponder];
}
}
相当于屏幕任何位置的点击事件(除了各组件的点击处)可以在这个方法里执行要隐藏或remove的view.
2)重写textField的delegate中的-(BOOL)textFieldShouldReturn:(UITextField *)textField方法,在点击return的时候调用方法,让textField放弃
第一响应者.
3)在最底层铺上一个透明的button活着controller,时间相应为回收键盘.
3.UINavigationBar的控件设置
UINavigationBar (导航栏)上的设置主要分两部分, 为导航栏上的各种导航部件(UINavigationItem), 为导航栏的相关设置.navigationBar—导航条,iOS7之后默认是半透明的,iOS7之前默认是不透明的。 navigationBar 竖屏下默认高度44,横屏下默认高度32。 iOS7之后,navigationBar的背景会延伸到statusBar上。导航栏高度仍保持44,但显示效果为64。 每个视图控制器都有一个UINavigationItem属性。UINavigationItem中设置的左按钮、右按钮、标题等,会随着控制器的显 ,也显示到NavigationBar上。
self.navigationItem.title = @"老炮儿"; //修改自己试图的标题
self.navigationItem.titleView = ........ //可以设置标题视图
self.navigationController.navigationBarHidden = NO; // 导航栏的显隐属性
self.navigationController.navigationBar.barStyle =UIBarStyleDefault; // 导航栏样式
self.navigationController.navigationBar.backgroundColor =[UIColor redColor]; // 背景颜色
self.navigationController.navigationBar.barTintColor =[UIColor yellowColor]; // 导航栏颜色
self.navigationController.navigationBar.tintColor =[UIColor blackColor];// 导航栏上的元素颜色
导航栏半透明的效果(iOS7以后 默认为 YES),当半透明效果开启时 屏幕左上角为坐标原点,当关闭时,导航栏左下角为坐标原点 self.navigationController.navigationBar.translucent = NO;
给navigationController设置背景照片
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"XXX.png"] forBarMetrics:UIBarMetricsDefault];
IOS5.0以上,api有了上面setBackgroundImage的方法,可以直接设置,如果项目需要适配5.0以下版本的设备,最好加一个判读,是否有此函数,有则设置,没有就通过drawRect方法设置。
另外:设置背景图片无法匹配backButton或rightButtonItem,所以返回按钮或右边自定义的Bar button Item需要自行处理。
给navigationController修改字体和颜色
iOS 5 以后 UINavigationController 可以 改变UINavigationBar导航条标题颜色和字体
[self.navigationController.navigationBar setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:
[UIColor colorWithRed:0 green:0.7 blue:0.8 alpha:1], UITextAttributeTextColor,
[UIColor colorWithRed:0 green:0.7 blue:0.8 alpha:1], UITextAttributeTextShadowColor,
[NSValue valueWithUIOffset:UIOffsetMake(0, 0)], UITextAttributeTextShadowOffset,
[UIFont fontWithName:@"Arial-Bold" size:0.0], UITextAttributeFont,
nil]];
其中 UITextAttributeTextColor和UITextAttributeFont 属性是文字颜色和字体
4.给UIView设置背景图片
[view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"pabb_leftnaviview_bg.png"]]];
大小设置:
[view setFrame:CGRectMake(9, 60, 120, 250)];