hdf第二周,每天加班,周末加班,周日健身
----------------------------------------------------------------------------- 受到挫折,写一些简单的练习,增加成就感
放大核心代码:
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView {
return self.testImageView;
}
- (void)initialize {
self.testScrollView.maximumZoomScale = 2.0;
self.testScrollView.minimumZoomScale = 0.5;
self.testScrollView.delegate = self;
}
// scrollView+图片缩放,图片要比scrollView大,才能滚动
// 设置代理,实现viewForZoomingInScrollView方法,告知是哪个view可以缩放
// 设置缩放比例,设置代理
// 一样大应该也能缩放,就是不能滚动缩放后应该可以滚动
// 目标:imgView跟scrollView大小相同,设置imgView四边约束跟scrollView距离为0,宽高都跟scrollView相同
// 设置图片放大倍数,搞定!
---------------------------------------------------------------------------
// push-pop present-dismis
// 跟李亚军要的代码,
- (void)dismiss { // 点完成
NSArray *controllerArray = self.navigationController.viewControllers;
for (UIViewController *vc in controllerArray) {
if ([vc isKindOfClass:[MAMyAppointmentsController class]]) {
[self.navigationController popToViewController:vc animated:YES];
return;
}
}
for (UIViewController *vc in controllerArray) {
if ([vc isKindOfClass:[MAJudgeDoctorViewController class]]) {
[vc dismissViewControllerAnimated:YES completion:nil]; // 如果是评价页,dismis
}
}
self.tabBarController.selectedIndex = 0;
[self.navigationController popToRootViewControllerAnimated:YES];
}
------------------------------------------------------------------------
打印结构体
NSStringFromCGRect(self.view.frame)
-------------------------------------------------
切换地区,选择西藏,应该跳到上海,但实际还是显示西藏,
有请求上海的接口,但是没保存数据,要刷新?
切换地区,再返回就有了
-------------------------------------------------
用完全自定义的返回按钮拦截返回按钮点击事件
-------------------------------------------------
mjExtenion可以将plist直接转成模型
直接用模型调方法,不是用NSArray调,要用自定义类去调,不然用自定义类的点语法会崩溃
-------------------------------------------------
切换分支,点checkOut
-------------------------------------------------
对比版本"
Cmd+shift+alt + enter
查找快捷键
----------------------------------------------------------------------------------------------------
提交的代码修改的哪个类
----------------------------------------------------------------------------------------------------
生成随机色
subView.backgroundColor = [UIColor colorWithRed:(CGFloat)random()/(CGFloat)RAND_MAX green:(CGFloat)random()/(CGFloat)RAND_MAX blue:(CGFloat)random()/(CGFloat)RAND_MAX alpha:1];
----------------------------------------------------------------------------------------------------
忘了写addSubView显示不出来
控制器-view-collectionView
view没有加collectionview, 拖线,没有了
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
发的通知一个是userInfo,一个是object
死活接不到通知,原来是
发的时候用userInfo,接的时候也得用notice点上uresinfo
发的时候用object接的时候也得用 notice点上object
怎么解决这个bug的打断点,发现通知接受到了,但是这个判断条件不走,一开始是self.serviceProjectKey isEqualToStr 判断一直是free免费咨询,猜测应该在创建cell的时候就绑定监听器,于是在collectionView的类里面监听了,而且监听对象是cell,
[[NSNotificationCenter defaultCenter]addObserver:cell selector:@selector(setRedDotStatus:) name:@"redDotStatus" object:nil];
以前没有这样写过通知,一般监听都是self,其实也可以是其他对象,第一次创建出来的对象
而且这个监听的方法可以全局相应,
回到刚才的问题,判断条件不对,通过打断点, 控制台po notice.usreinfo是nil,再 po notic.object是有值的!!于是用notice.object 就成功判断了
看帖子写的通知基本用法,作者用的userinfo传的参数,我却是用的object,所以接收也得用dict
通知观察者可以不是当前的类, 通知的回调方法可以不写在当前控制器
[[NSNotificationCenter defaultCenter]postNotificationName:@"redDotStatus" object:nil userInfo:dict];
-(void)setRedDotStatus:(NSNotification *)notice{ // 监听到了通知,但是判断条件不对
// NSDictionary *dict = notice.userInfo.copy;
if ([[notice.userInfo valueForKey:@"drug"] isEqualToString:@"1"] && [self.serviceProjectKey isEqualToString:@"useDrug"]) {
self.redDot.hidden = NO;
[[NSNotificationCenter defaultCenter]postNotificationName:@"redDotStatus" object:dict];
-(void)setRedDotStatus:(NSNotification *)notice{ // 监听到了通知,但是判断条件不对
// NSDictionary *dict = notice.userInfo.copy;
if ([[notice.object valueForKey:@"drug"] isEqualToString:@"1"] && [self.serviceProjectKey isEqualToString:@"useDrug"]) {
刚才纠结两个问题,如果通知写在cell里面,cell的标记只能拿到第一个,无法进行判断// 如果通知写在collectionView里面,通知回掉的方法怎么拿到cell呢?后来阴差阳错发现把通知观察写在viwe里面,相应的方法写在cell里面就可以了,观察者和相应的方法可以在不同的文件中,观察者cell是在view里面初始化的
观察到通知响应的方法写在cell的类里面
带block的通知? 使用带block的通知直接解决了上面的问题,
如何销毁呢?两个控制器都要销毁么?
-------------------------------------------------------------------------------------------------------------------------------------
字典@{key: value,key :value} KVC 前面是key,后面是value
两个通知可以同名么????????
-------------------------------------------------------------------------------------------------------------------------------------
红点经验
找到红点控件,当前类中搜索,看在哪里设置隐藏和显示的,(4处)
目标:观察红点显示规律,跟tabBar一起显示的,明确目标,跟tabBar上的红点一起显示
发现是从服务器请求下来的数据设置的,打断点,看服务器返回的是啥字段,啥内容,看原来的代码是如何判断的
发现1是显示红点,0是隐藏红点,从服务器拿到这个状态马上设置红点的显示和隐藏
我就在这四个地方(其实是三个地方,不算属性),发三个通知,请求失败,和未登录状态是同一个通知名字,直接设置红点隐藏.请求成功发送成功请求的通知,
在cell里面监听两个通知,取出相应的字段进行判断就搞定啦!!!!! 我最牛B 哈哈哈哈
红点还是用模型设置cell的显示和隐藏,尽量不用通知
用同通知好么?原来拖线直接设置,销毁?
如何检查内存泄露,控制器被销毁了,内存没有被释放
用模型设置cell原点,初始化就创建好控件,然后根据模型控制显示和隐藏。
reloaddata会错位,因为缓存池里面是无序的,
reloaddata会闪,谷歌,给答案,调用另外一个刷新方法。
红点请求完了马上reloaddata.使用点语法获取collectionview,
请求是同步的
// 遍历删除子控件
/*
CGRect entranceViewFrame = CGRectMake(0, 10, SCREEN_W, columCount * 78 + 15);
EntranceContainerView *view = [[EntranceContainerView alloc]initWithFrame:entranceViewFrame]; // self.entranceView.bounds
self.entranceView.frame = entranceViewFrame;
self.bigEntranceViewHeight.constant = 110 + entranceViewFrame.size.height;
view.entranceModelArray = self.entranceItemModelArray;
[self.entranceView addSubview:view];
for (UIView *view in self.entranceView.subviews) {
if (![view isKindOfClass:[EntranceContainerView class]]) {
[view removeFromSuperview];
view.hidden = YES;
}
}*/
---------
请求完毕reloadData
点语法
报错原因是用了点语法,但是只写了@class,应该用inport .h
[weakObject.entranceContainerView.entranceCollectionView reloadData] // 报错下面的
/Users/hdf/hdfPatient/haodf/PostTreament/Service/Controller/ServiceViewController.m:1084:10: Receiver type 'EntranceCollectionView' for instance message is a forward declaration
---------------------------------------------------------------------------------------------------------
重构,前面判断。如果返回数据少,再请求一次,只有一个参数不同,再请求之前判断数组元素长度,如果是零,用默认城市请求,否则直接请求
选择城市后返回,数组长度为零,一定要用默认请求了。
定位城市医院为0,能切换到上海么?手动设置坐标西藏。
如果第三方看不懂,先会用
扣扣聊天如何做自动布局
拉伸图片的方法
光标在右边一点
通知机制模拟??
键盘通知
日期格式设置,发送消息,滚动tableview,发送消息的frame模型??自动回复?聊天文字背景图??
产品要求隐藏按钮,再将约束设置为0即可
xib创建自定义cell firstObject lastobject?
用xib创建cell,init方法设置基本属性,set方法设置详细内容
封装创建cell的方法l
footview无法修改y和宽度,也用单独的一个类管理
…………………………………………………………
控制器,容器view.collectionview,cell如何设置代理?创建的时候就设置代理?
dispatch after延迟执行
reloadrowatindexpath,如果行数发生变化会崩溃。
行数变化,用insertrowatindexpath不会崩溃
滚动到相应的位置。scrolltorowatindexpath
封装创建xib的类方法
mjextension也是模型工厂方法里面整的
initwithstyle tableviewcell
initwithframe collectionviewcell???
label不设置字体大小,有默认大小
封装枚举类型,set方法里面设置view颜色,itemsize,看苹果怎么写枚举的
如果不设置枚举,默认来个间距为零
工作时候少聊天。任务完成的好,心情好,都不长痘了。
王宇笔记做的好,推荐玉玉看course
如何切换分支。
基本养成了回家敲代码的习惯,累了就刷牙,洗脸,回来再敲
早上地铁上看笔记,做计划
如何创建分支
label sizetofit. 计算文字尺寸,???
只读的用下划线访问???????
hightforrow无法获取自定义cell高度?先调用,然后调用cellforrow?
任务,用多级代理,设置size.间距,左右,中间,如果不设,默认为零
设置collectionview的分割线
关键是找出规律
----
闪退,mas约束加错了,
如果定位失败,显示从服务端获取的地址,下面的内容也是这个地址的内容。
切换地区,如果定位失败,显示服务端获取的地址,下面的内容也是这个地址的内容
切换地区后如果没有内容,显示从服务端获取的地址,对应的内容
这周表现不错,加油吧
hdf第二周,每天加班,周末加班,周日健身的更多相关文章
- 201521123110第二周Java学习总结
1.本章学习总结 本周的Java学习相对前一周更进了一步,初步学习了Java简单的输入和输出,String类的对象创建后不能修改,它是不可变的,在Java中浮点型默认是double型与C中的int型不 ...
- 第二周学习总结-Java
2018年7月22日 暑假第二周马上就要结束了,这一周我继续学习了java. 本周学到了一些Java的修饰词,比如static.private.public等,这些修饰词用法与c++类似,很容易掌握. ...
- 2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周
2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周 博客要求 组内同学需各自发表博客 博客中需包含以下内容: 相关过程截图 关键代码解释 遇到的困难及解决 ...
- 20175314 《Java程序设计》第二周学习总结
20175314 <Java程序设计>第二周学习总结 教材学习内容总结 我在APPstore上发现了一个可以支持我们在IOS系统上学习实践Java程序的开发环境,只需要购买专业版就可以使用 ...
- 20165225 《Java程序设计》第二周学习总结
20165225<Java程序设计>第二周学习总结 1.视频与课本中的学习: ##### 1.标识符: 字母.下划线.美元符号.数字(不能是true,false,null还有关键字). # ...
- 20155312 2006-2007-2 《Java程序设计》第二周学习总结
20155312 2006-2007-2 <Java程序设计>第二周学习总结 课堂内容总结 git:版本控制 生活中的容灾备份 归纳思维.实验思维.计算思维 计算机:实现自动化 学会使用快 ...
- 20172302『Java程序设计』课程 结对编程练习_四则运算第二周阶段总结
一.结对对象 姓名:周亚杰 学号:20172302 担任角色:驾驶员(周亚杰) 伙伴第二周博客地址 二.本周内容 (一)继续编写上周未完成代码 1.本周继续编写代码,使代码支持分数类计算 2.相关过程 ...
- 2016-2017-2 《Java程序设计》第二周学习总结
20155319 2016-2017-2 <Java程序设计>第二周学习总结 课堂学习内容 git:版本控制 java -d bin(当地文件夹) src/Hello.java把生成的.c ...
- 红帽学习笔记[RHCSA] 第二周
目录 红帽学习笔记[RHCSA]第二周 环境 第七课[网络配置相关] 在Vmware中添加网卡 将网卡添加到虚拟机上 关于网卡命名规则 配置网络 网络配置命令总结 更改hostname 关于SSH的一 ...
随机推荐
- ytu 1940:Palindromes _easy version(水题)
Palindromes _easy version Time Limit: 1 Sec Memory Limit: 64 MBSubmit: 47 Solved: 27[Submit][Statu ...
- PowerDesigner12逆向生成oracle数据表时,错误解决
1.用PowerDesigner12建模,在Database—>Generate Database (或者用Ctrl+G快捷键)来生产sql语句,却提示“Generation aborted d ...
- poj 3225 线段树+位运算
略复杂的一道题,首先要处理开闭区间问题,扩大两倍即可,注意输入最后要\n,初始化不能随便memset 采用线段树,对线段区间进行0,1标记表示该区间是否包含在s内U T S ← S ∪ T 即将[l, ...
- Windows下64位Apache服务器的安装
转自:http://www.blogjava.net/greatyuqing/archive/2013/02/13/395308.html 首先需要说明的是,Apaceh服务器没有官方的64位版本,只 ...
- Linux串口设置及编程(转)
用户常见的数据通信的基本方式可分为并行通信和串行通信. 并行通信是指利用多条数据传输线将一个资料的各位同时传送.特点是传输速度快,适用于短距离通信,但要求传输速度较高的应用场合. 串行通信是指利用一条 ...
- loj 1011(状态压缩+记忆化搜索)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=25837 思路:状态压缩+记忆化搜索. #include<io ...
- POJ2778 DNA Sequence(AC自动机+矩阵快速幂)
题目给m个病毒串,问不包含病毒串的长度n的DNA片段有几个. 感觉这题好神,看了好久的题解. 所有病毒串构造一个AC自动机,这个AC自动机可以看作一张有向图,图上的每个顶点就是Trie树上的结点,每个 ...
- emacs auto-complete
安装的是autocomplete http://cx4a.org/software/auto-complete/ 是bz2格式压缩的 下载后 在终端输入命令 tar -xjvf auto-compl ...
- emacs yasnippet
首先安装emacs 然后下载yasnippet-bundle-0.6.1c.el.tgz解压 在~/.emacs.d/文件夹下新建一个文件plug,一般是新建一个plugins但是我到下面有这个文件夹 ...
- CentOS6.4 内核优化
vi /etc/sysctl.conf net.ipv4.tcp_syncookies = net.ipv4.tcp_tw_reuse = net.ipv4.tcp_tw_recycle = net. ...