UI- 不易记知识点汇总
所有的全局变量都是静态变量,而局部变量只有定义时加上类型修饰符static,才为局部静态变量。
写在当前类中的类别称为匿名类别
匿名类别只能当前类访问,其它类无法访问
匿名类别可以省略声明部分
模态 ,跳转到mainVC这个视图控制器,
[self presentViewController:mainVC animated:YES completion:nil];
[self.navigationController pushViewController:mainVC animated:YES];
4、UITextField常用属性
创建用户名文本框
UITextField *uNameField = [[UITextField alloc]initWithFrame:CGRectMake(uNameLbl.right + 10 , uNameLbl.y , kDeviceWidth - uNameLbl.x - uNameLbl.right - 10 , uNameLbl.height)];
[self.view addSubview:uNameField];
uNameField.backgroundColor = [UIColor lightGrayColor];
设置用户名文本框的背景图片
uNameField.background = [UIImage imageNamed:@"login_input_n"];
定义一个图片视图
UIImageView *leftImgView = [[UIImageView alloc]initWithFrame:CGRectMake(0, 7, 40, 26)];
leftImgView.image = [UIImage imageNamed:@"register_name_07"];
设置图片的显示模式为按比例缩放
leftImgView.contentMode = UIViewContentModeScaleAspectFit;
设置用户名文本框左侧视图
uNameField.leftView = leftImgView;
设置文本框左侧视图的显示模式
uNameField.leftViewMode = UITextFieldViewModeAlways;
设置文本框右侧的清除按钮
uNameField.clearButtonMode = UITextFieldViewModeWhileEditing;
设置用户名文本框的代理
设置当前文本框为密文显示
pwdField.secureTextEntry = YES;
uNameField.delegate = self;
设置文本框的Tag值
uNameField.tag = 10;
4、注册键盘显示和隐藏通知
注册键盘显示的通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showKeyboard:) name:UIKeyboardWillShowNotification object:nil];
注册键盘隐藏的通知
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(hideKeyboard: ) name:UIKeyboardWillHideNotification object:nil];
}
5、隐藏键盘
点击屏幕空白时隐藏键盘
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
[self.view endEditing:YES];
}
6、用户交互
允许当前对象可以与用户交互
self.userInteractionEnabled = YES;
7、清屏
[[self.view subviews]makeObjectsPerformSelector:@selector(removeFromSuperview)];
8、 设置 导航栏-----状态栏
BOOL isHidden = self.navigationController.isNavigationBarHidden;
[self.navigationController setNavigationBarHidden:!isHidden];
设置状态栏的隐藏状态 在Info.plist 中添加 View controller-based status bar appearance 设置为NO
[[UIApplication sharedApplication] setStatusBarHidden:!isHidden];
- (BOOL)prefersStatusBarHidden{
return YES;
}
9 、获取完整路径的最后一部分
NSString *fileName = [path lastPathComponent];
[button currentTitle]
11、自动调整滚动视图的缩进 ,设置为NO 不让其调整
self.automaticallyAdjustsScrollViewInsets = NO;
12、 调整图片按比例缩放
imgView.contentMode = UIViewContentModeScaleAspectFill;
13、 是否允许选中TableView中的单元格
allowsSelection 设置为NO即可
14、 从一个控制器跳转另一个控制器
Modal形式
[self presentViewController:myTableVC animated:YES completion:nil];
push形式
[self.navigationController pushViewController:firstVC animated:YES];
show 形式
[self showViewController:<#(nonnull UIViewController *)#> sender:<#(nullable id)#>];
15、 隐藏底部的Tabbar
方法一:在推进去的控制器中写入该方法即可隐藏tabbar
- (BOOL)hidesBottomBarWhenPushed{
return YES;
}
- 方法二:在控制器推进去之前处理
self.hidesBottomBarWhenPushed=YES;
RegisteredViewController* registered = [[RegisteredViewController alloc]init];
[self.navigationController pushViewController:registered animated:YES];
self.hidesBottomBarWhenPushed=NO;
- 方法三: 在控制器推进去之前处理
- (void)viewWillAppear:(BOOL)animated{
self.hidesBottomBarWhenPushed = YES;
}
- (void)viewWillDisappear:(BOOL)animated{
self.hidesBottomBarWhenPushed = NO;
}
16、 什么时候会触发layoutSubviews:
layoutSubviews在以下情况下会被调用:
1、init初始化不会触发layoutSubviews
2、addSubview会触发layoutSubviews
3、设置view的Frame会触发layoutSubviews,当然前提是frame的值设置前后发生了变化
4、滚动一个UIScrollView会触发layoutSubviews
5、旋转Screen会触发父UIView上的layoutSubviews事件
6、改变一个UIView大小的时候也会触发父UIView上的layoutSubviews事件
UI- 不易记知识点汇总的更多相关文章
- Kendo UI 使用小知识点汇总
本攻略适用于了解的kendo UI 的基本语法的人使用.如果还不了解Kendo UI的基本语法,请大力观摹Demo ,并自己动用写几个控件. 1.获取Kendo UI的控件实体,不必存成全局变量. ...
- nginx几个知识点汇总
WHY? 为什么用Nginx而不用LVS? 7点理由足以说明一切:1 .高并发连接: 官方测试能够支撑 5 万并发连接,在实际生产环境中跑到 2 - 3 万并发连接数.?2 .内存消耗少: 在 3 万 ...
- python全栈开发 * 10知识点汇总 * 180612
10 函数进阶 知识点汇总 一.动态参数 形参的第三种1.动态接收位置传参 表达:*args (在参数位置编写 * 表⽰接收任意内容) (1)动态位置参数def eat(*args): print(a ...
- Android UI相关开源项目库汇总
最近做了一个Android UI相关开源项目库汇总,里面集合了OpenDigg 上的优质的Android开源项目库,方便移动开发人员便捷的找到自己需要的项目工具等,感兴趣的可以到GitHub上给个st ...
- 清华大学OS操作系统实验lab1练习知识点汇总
lab1知识点汇总 还是有很多问题,但是我觉得我需要在查看更多资料后回来再理解,学这个也学了一周了,看了大量的资料...还是它们自己的80386手册和lab的指导手册觉得最准确,现在我就把这部分知识做 ...
- c++ 函数知识点汇总
c++ 函数知识点汇总 swap函数 交换两个数组元素 比如 swap(a[i],a[j]); 就是交换a[i] 和 a[j] 的值 strcpy() 复制一个数组元素的值到另一个数组元素里 strc ...
- 前端开发 JavaScript 干货知识点汇总
很多初学的朋友经常问我,前端JavaScript都需要学习哪些东西呀?哪些是JavaScript的重点知识啊? 其实做前端开发工程师,所有的知识点都是我们学习必备的东西,只有扎实的技术基础才是高薪的关 ...
- BBS项目知识点汇总
目录 bbs项目知识点汇总 一. JavaScript 1 替换头像 2 form表单拿数据 3 form组件error信息渲染 4 添加html代码 5 聚焦操作 二 . html在线编辑器 三 . ...
- Java面试知识点汇总
Java面试知识点汇总 置顶 2019年05月07日 15:36:18 温柔的谢世杰 阅读数 21623 文章标签: 面经java 更多 分类专栏: java 面试 Java面试知识汇总 版权声明 ...
随机推荐
- eslasticsearch操作集锦
索引-index:一个索引就是一个拥有几分相似特征的文档的集合.比如说,你可以有一个客户数据的索引,另一个产品目录的索引,还有一个订单数据的索引.一个索引由一个名字来标识(必须全部是小写字母的),并且 ...
- 解读tensorflow之rnn 的示例 ptb_word_lm.py
这两天想搞清楚用tensorflow来实现rnn/lstm如何做,但是google了半天,发现tf在rnn方面的实现代码或者教程都太少了,仅有的几个教程讲的又过于简单.没办法,只能亲自动手一步步研究官 ...
- SCSS入门
1. CSS预处理器 定义了一种新的专门的编程语言,编译后成正常的CSS文件.为CSS增加一些编程的特性,无需考虑浏览器的兼容问题,让CSS更加简洁,适应性更强,可读性更佳,更易于代码的维护等诸多好处 ...
- 华为大数据项目fusionInsight
项目简述:基于开源Hadoop2.0架构的集群网络,进行海量数据的分布式计算.由于Hadoop集群规模不断扩大,而搭建一个同等规模的测试集群需要一笔昂贵的开销.目前有100台左右物料,期望预测计算节点 ...
- Excel数据常用操作,vlookup,text,trim,数据格式导致出错
数据有缺漏,需要在数据前面补零 =TEXT(F70,"000000") 前面是要操作的数据,后面是补几位 匹配数据(将一个表格中的数据进行匹配) =VLOOKUP(C2,aaa,4 ...
- spring和spirngmvc整合
<!-- 需要进行 Spring 整合 SpringMVC 吗 ? 还是否需要再加入 Spring 的 IOC 容器 ? 是否需要再 web.xml 文件中配置启动 Spring IOC 容器的 ...
- SQL 函数以及SQL 编程
1.数学函数:操作一个数据,返回一个结果 --去上限: ceiling ☆select --去下限:floor ☆select floor(price) from car --ABS 绝对值 --PI ...
- javaEE中的字符编码问题
0 web.xml中注册的CharacterEncodingFilter <!-- 配置字符集过滤器 --> <filter> <filter-name>encod ...
- JavaScript的消息机制
JavaScript本身是单线程的,但它却是事件驱动的.类似Windows窗体应用程序,它也需要消息队列机制来实现.程序的执行并不是连续的,绝大多数时间都在等待消息.每次执行执行程序都是在响应消息,这 ...
- Silverlight应用小知识点
1 Silverlight目录下创建的类 与 根目录下创建的类: 是不同的: Silverlight 不能调用根目录下的类: