8/8日报
分级埋点:
[MobClick event:UmengPagePlusDoctor attributes:@{@"page":@"plusPage"}];
弹层适配小屏幕, 标题比较长,太靠近左右两边了
使用中文标点符号
学习关于保险,超过50岁,重疾险就不好买了,这个"不好买”有两层意思,第一层,有的保险直接不卖给50岁以上的人,第二层,50岁以上的人重疾险非常昂贵,而且赔付的钱最多十万. 保险应该趁年轻买
看知乎,李元霸推荐的两款重疾险,父母是买不了了,建议给父母做体检
工作效率还行,碰到问题马上处理
比较郁闷的是点击弹层上的预约按钮后,弹层应该消失还是留着,这里我是将弹层干掉了,安卓还保留弹层,这块ios跟安卓产生了差异,跟产品确认后,产品同意二者可以不同
8/10日报
swift 格式下的tableView写法
对比swift和OC app框架搭建,其实是一样的,只是语法格式不同
碰到一个低级错误,tabBar的图片不显示,原因是图片的格式不对,尺寸太大,
拖动图片的时候,鼠标不好使,把图片资源删了,七百多图片,一个个丢弃太慢了,点击工作副本->右键->reset
8/11日报
做一个AlertView ,想实现下拉的动画效果,还没有实现动画效果,用的约束布局,view从左上角,慢慢到了中间的最终位置,不是想要的效果,
怎么办呢
自定义alert, 按钮点击没有响应,原因是按钮的父控件要设置为背景View
有一个bug 选择某一天后,关闭,在打开,默认选中两个日期 http://jira.haodf.net/browse/TZXZYXL-55?filter=17653 这个现象在自测的时候也发现了,当时就改正了, 可能是后来提交代码的时候忘记了这几行代码,造成了这个bug被测试发现
希望能尽快提高自己的技术水平,解决复杂问题,这确实是我最急切的问题
希望能尽快提高自己的技术水平,多写代码,多交流,多总结,知行合一,多沟通
<全金属外壳 full metal sukit>
设置按钮的按下颜色
[button2 setBackgroundImage:[
self
imageWithColor:[UIColor grayColor]] forState:UIControlStateHighlighted];
8/12日报
需求
---------------swift 学习-----------------------------------------
OC 在didFinishLanuching方法中如果不写
self.window = window,window不能被保存,被释放了,不能创建出控制器
————————————————————
new App 创建步骤 OC
1.创建window,用属性保存
UIWindow *window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];
2.创建控制器
3.给每个控制器包装一个导航控制器
UINavigationController *nav1 = [[UINavigationController alloc]initWithRootViewController:vc1];
4.创建tabBar控制器,将这些导航控制器作为tabBar控制器的数组
tab.viewControllers = @[nav1,nav2];
———————————
Swift
1.创建window,用属性保存
window = UIWindow(frame: UIScreen.mainScreen().bounds)
2.创建控制器
let firstVC = ViewController()
3.给每个控制器包装一个导航控制器
// 第一个控制器的导航栏
let firstNav = UINavigationController()
// 设置导航控制器管理的控制器
let firstNav = UINavigationController()
// 设置导航控制器管理的控制器
firstNav.viewControllers = [firstVC]
4.创建tabBar控制器,将这些导航控制器作为tabBar控制器的数组
// tabBar + nav
self.viewControllers = [firstNav, secondNav]
swift
let 常量
var 声明变量
swift不需要导入头文件
不用写分号,
懒加载结构不同
字符串不用加@
YES->true NO -> fase
swift tableView遵守协议会报错, 因为没有实现tableView的两个代理方法
批量放弃更改,用reset
----------------------
给tableViewCell加圆角
http://www.jianshu.com/p/abd7738e146b
/** * 将要为每行row绘制cell,可自定义cell显示方法 cell 圆角*/
- (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
if ([cell respondsToSelector:@selector(tintColor)]) {
CGFloat cornerRadius = 4;
if (tableView == self) {
// 圆角弧度半径 CGFloat cornerRadius = 5.f;
// 设置cell的背景色为透明,如果不设置这个的话,则原来的背景色不会被覆盖
cell.backgroundColor = UIColor.clearColor; // UIColor.clearColor [UIColor hdf_colorWithHexString:@"#f5f5f5"]
// 创建一个shapeLayer
CAShapeLayer *layer = [[CAShapeLayer alloc] init];
// 创建一个可变的图像Path句柄,该路径用于保存绘图信息
CGMutablePathRef pathRef = CGPathCreateMutable();
// 获取cell的size
CGRect cellBounds = CGRectMake(15, 0, cell.bounds.size.width - 30, cell.bounds.size.height);
CGRect bounds = CGRectInset(cellBounds, 0, 0);
// CGRectGetMinY:返回对象顶点坐标
// CGRectGetMaxY:返回对象底点坐标
// CGRectGetMinX:返回对象左边缘坐标
// CGRectGetMaxX:返回对象右边缘坐标
// 这里要判断分组列表中的第一行,每组section的最后一行,每组section的中间行
BOOL addLine = NO;
// CGPathAddRoundedRect(pathRef, nil, bounds, cornerRadius, cornerRadius);
if (indexPath.row == 0) {
// 初始起点为cell的左下角坐标
CGPathMoveToPoint(pathRef, nil, CGRectGetMinX(bounds), CGRectGetMaxY(bounds));
// 起始坐标为左下角,设为p1,(CGRectGetMinX(bounds), CGRectGetMinY(bounds))为左上角的点,设为p1(x1,y1),(CGRectGetMidX(bounds), CGRectGetMinY(bounds))为顶部中点的点,设为p2(x2,y2)。然后连接p1和p2为一条直线l1,连接初始点p到p1成一条直线l,则在两条直线相交处绘制弧度为r的圆角,并把左边直线和圆角路径添加到path中。
CGPathAddArcToPoint(pathRef, nil, CGRectGetMinX(bounds), CGRectGetMinY(bounds), CGRectGetMidX(bounds), CGRectGetMinY(bounds), cornerRadius);
// 绘制右上角的圆角,包含顶端直线和右上角圆角并写入path中
CGPathAddArcToPoint(pathRef, nil, CGRectGetMaxX(bounds), CGRectGetMinY(bounds), CGRectGetMaxX(bounds), CGRectGetMidY(bounds), cornerRadius);
// 右边直线路径写入到path中,构成了一个左上角和右上角为圆角的矩形
CGPathAddLineToPoint(pathRef, nil, CGRectGetMaxX(bounds), CGRectGetMaxY(bounds));
addLine = YES;
} else if (indexPath.row == 2) {
// // 初始起点为cell的左上角坐标 CGPathMoveToPoint(pathRef, nil, CGRectGetMinX(bounds), CGRectGetMinY(bounds));
// // 左边直线和左下角圆角路径添加到path
// CGPathAddArcToPoint(pathRef, nil, CGRectGetMinX(bounds), CGRectGetMaxY(bounds), CGRectGetMidX(bounds), CGRectGetMaxY(bounds), cornerRadius);
// // 底边直线和右下角圆角路径添加到path
// CGPathAddArcToPoint(pathRef, nil, CGRectGetMaxX(bounds), CGRectGetMaxY(bounds), CGRectGetMaxX(bounds), CGRectGetMidY(bounds), cornerRadius);
// // 右边直线添加到path,此时路径构成一个左下角和右下角为圆角的矩形 CGPathAddLineToPoint(pathRef, nil, CGRectGetMaxX(bounds), CGRectGetMinY(bounds));
CGPathMoveToPoint(pathRef, nil, CGRectGetMinX(bounds), CGRectGetMinY(bounds));
CGPathAddArcToPoint(pathRef, nil, CGRectGetMinX(bounds), CGRectGetMaxY(bounds), CGRectGetMidX(bounds), CGRectGetMaxY(bounds), cornerRadius);
CGPathAddArcToPoint(pathRef, nil, CGRectGetMaxX(bounds), CGRectGetMaxY(bounds), CGRectGetMaxX(bounds), CGRectGetMidY(bounds), cornerRadius);
CGPathAddLineToPoint(pathRef, nil, CGRectGetMaxX(bounds), CGRectGetMinY(bounds));
} else {
// 中间行,直接添加rectangle信息到path中(不包括圆角)
CGPathAddRect(pathRef, nil, bounds); addLine = YES;
}
// 把已经绘制好的可变图像路径赋值给图层
layer.path = pathRef;
// 注意:但凡通过Quartz2D中带有creat/copy/retain方法创建出来的值都必须要释放
CFRelease(pathRef);
// 按照shape layer的path填充颜色,类似于渲染render
layer.fillColor = [UIColor hdf_colorWithHexString:@"#f5f5f5"].CGColor; // [UIColor colorWithWhite:1.f alpha:0.8f].CGColor
// 添加分隔线图层
if (addLine == YES) {
CALayer *lineLayer = [[CALayer alloc] init];
CGFloat lineHeight = (1.f / [UIScreen mainScreen].scale);
lineLayer.frame = CGRectMake(CGRectGetMinX(bounds) + 5, bounds.size.height-lineHeight, bounds.size.width - 10, lineHeight);
// 分隔线颜色取自于原来tableview的分隔线颜色
lineLayer.backgroundColor = tableView.separatorColor.CGColor;
// 添加子图层
[layer addSublayer:lineLayer]; }
// view大小与cell一致
UIView *roundView = [[UIView alloc] initWithFrame:bounds];
// 添加自定义圆角后的子图层到roundView中
[roundView.layer insertSublayer:layer atIndex:0];
roundView.backgroundColor = [UIColor clearColor];
// roundView.layer.backgroundColor = [UIColor hdf_colorWithHexString:@"#f5f5f5"].CGColor;
//cell的背景view
//cell.selectedBackgroundView = roundView;
cell.backgroundView = roundView;
}
}
}