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的一 ...
随机推荐
- hdu 4004 二分 2011大连赛区网络赛D
题意:一个长为L的河,中间有n个石子,小青蛙需要跳少于m次过河,判断小青蛙每次跳跃最大距离的最小值 最大值最小,用二分 Sample Input 6 1 2 2 25 3 3 11 2 18 Samp ...
- 实现Activity刷新(转)
目前刷新Acitivity,只想到几种方法.仅供参考,如果您有更好的方法,请赐教. 程序界面: 点击refresh view可以刷新界面,点击write content可以在EditText中自动写入 ...
- finally 语句
package unit5; public class FinallyDemo { int no1,no2; public FinallyDemo(String[] args) { try{ no1= ...
- CodeForces 433C Ryouko's Memory Note-暴力
Ryouko's Memory Note Time Limit:1000MS Memory Limit:262 ...
- 2016.5.27 PHP连接数据库与查询
提示mysql_query() expects parameter 2 to be resource, null given in 错误是因为你没有连接数据库就进行了查询,正常的程序应该这样写: fu ...
- jquery优化02
缓存变量:DOM遍历是昂贵的,所以尽量将会重用的元素缓存. $element = $('#element'); h = $element.height(); //缓存 $element.css('he ...
- 如何找到所有HTML Select 标签的选中项?
$(‘[name=NameofSelectedTag]:selected’);
- HierarchyRequestError:Node cannot be inserted at the specified point in the hierarchy
问题描述: 用jquery的ajax加载html片段,出现该错误 HierarchyRequestError:Node cannot be inserted at the specified poin ...
- Windows内核下操作字符串!
* Windows内核下操作字符串! */ #include <ntddk.h> #include <ntstrsafe.h> #define BUFFER_SIZE 1024 ...
- BZOJ3495 : PA2010 Riddle
2-SAT. 建立n个变量,其中第i个变量表示第i个城市是否是首都. 对于边(x,y),连边x->y',y->x'. 对于一个有y个城市的国家,新建2y个变量,分别表示前i个城市和后i个城 ...