码迷,mamicode.com
首页 > 其他好文 > 详细

UI开发学习中遇到的问题汇总

时间:2016-01-14 22:20:46      阅读:317      评论:0      收藏:0      [点我收藏+]

标签:

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

 

 

 

 

UI开发学习中遇到的问题汇总

标签:

原文地址:http://www.cnblogs.com/LE-Quan/p/5131641.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!