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

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

时间: 2024-10-26 12:59:14

UI开发学习中遇到的问题汇总的相关文章

软件开发学习中所遇问题

1.每个项目都离不开数据库,而数据库的建立过程也是个问题,如何将我们的开发成果移动到运营环境中呢,如何维护以后的更新? 2.每个开发流程都有一定的缺陷,那么如果将其中几个流程的优点集中形成新的开发流程又会不会遇到新的问题? 3.测试人员跟进的时间,是在项目需求开始启动时就跟进,并随之开始测试的一系列活动:还是到测试用例编写阶段才全职投入? 4.在开发软件的进程当中,团队是应该注重交流沟通,还是只专注负责代码的编写而有利于最终软件的交付使用? 5.测试人员与开发人员的比例应该怎样分配,才能维持软件

vue开发学习中遇到的问题以及解决方法

1:node-sass 安装失败,可使用 cnpm 安装 npm install cnpm -g --registry=https://registry.npm.taobao.org cnpm -v // 查看cnpm版本号确认安装成功 cnpm install node-sass -D

Android:日常学习笔记(8)———探究UI开发(5)

Android:日常学习笔记(8)---探究UI开发(5) ListView控件的使用 ListView的简单用法 public class MainActivity extends AppCompatActivity { private String[] data={"Apple","Banana","Orange","Watermelon","Pear","Grape","

Android:日常学习笔记(8)———探究UI开发(2)

Android:日常学习笔记(8)---探究UI开发(2) 对话框 说明: 对话框是提示用户作出决定或输入额外信息的小窗口. 对话框不会填充屏幕,通常用于需要用户采取行动才能继续执行的模式事件. 提示: Dialog 类是对话框的基类,但您应该避免直接实例化 Dialog,而是使用下列子类之一: AlertDialog此对话框可显示标题.最多三个按钮.可选择项列表或自定义布局. DatePickerDialog 或 TimePickerDialog此对话框带有允许用户选择日期或时间的预定义 UI

android开发中遇到的问题汇总【三】

在EditText中插入表情图片 (CharacterStyle&SpannableString) http://gundumw100.iteye.com/blog/904107 EditText通常用于显示文字,但有时候也需要在文字中夹杂一些图片,比如QQ中就可以使用表情图片,又比如需要的文字高亮显示等等,如何在android中也做到这样呢? 记得android中有个android.text包,这里提供了对文本的强大的处理功能. 添加图片主要用SpannableString和ImageSpan

Android:日常学习笔记(7)———探究UI开发(1)

Android:日常学习笔记(7)---探究UI开发(1) 常用控件的使用方法 TextView 说明:TextView是安卓中最为简单的一个控件,常用来在界面上显示一段文本信息. 代码: <TextView android:id="@+id/text_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:text=&qu

【转】Pro Android学习笔记(十三):用户界面和控制(1):UI开发

目录(?)[-] UI开发 方式一通过XML文件 方式二通过代码 方式三XML代码 UI开发 先理清一些UI概念: view.widget.control:这三个名词其实没有什么区别,都是一个UI元素,例如一个button.Container(容器):包含其他view,例如grid可以认为是容器,它有cell,每个cell可以是一个view.Layout: 对容器们和view们的排版,可以包含其他layout. Android提供常用的UI(例如文字框)以及适合移动设备的控制,基础类为andro

Android:日常学习笔记(7)———探究UI开发(4)

Android:日常学习笔记(7)---探究UI开发(4) UI概述  View 和 ViewGrou Android 应用中的所有用户界面元素都是使用 View 和 ViewGroup 对象构建而成.View 对象用于在屏幕上绘制可供用户交互的内容.ViewGroup 对象用于储存其他 View(和 ViewGroup)对象,以便定义界面的布局. 说明: View是安卓中最基本的一种UI,它可以在屏幕上绘制一块矩形区域,并能响应这块区域的各种事件,我们使用的各种控件都是在View的基础上进行的

关于ASP.NET MVC开发设计中出现的问题与解决方案汇总 【持续更新】

最近一直用ASP.NET MVC 4.0 +LINQ TO SQL来开发设计公司内部多个业务系统网站,在这其中发现了一些问题,也花了不少时间来查找相关资料或请教高人,最终都还算解决了,现在我将这些问题及对应的解决方案都整理汇总出来,供大家参供,有不对之处或有更好的解决办法,欢迎在本文评论,谢谢! 问题一:执行类似语句:dbDataContext.TableName.Join(modelList as List<实体对象类型>,t1=>t1.id,t2=>t2.id,(t1,t2)=