【iOS 入门开发笔记】iOS有没有android 的shape.xml
搜索了一下,iOS真没有对应库。android 的shape太强大了。xml配置方便快捷。这点apple真不如google做得好。
今天搞下图:
这东西在android 分分钟搞定了。
开始着手做。
1.指定圆角
开始想加个蓝色shape背景,指定两个圆角,android 一分钟搞定,但对不起iOS没有现成方法。
需要用layer去画。
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.goodIcBg.bounds byRoundingCorners:UIRectCornerBottomLeft|UIRectCornerTopLeft cornerRadii:CGSizeMake(3, 3)]; CAShapeLayer *maskLayer = [CAShapeLayer layer]; maskLayer.frame = CGRectMake(0, 0, 22, 22); maskLayer.path = maskPath.CGPath; self.goodIcBg.layer.mask = maskLayer;
2.画出来了作为imageview背景吧。对不起达不到效果。iOS 没有padding说法。不能留边空白。
只好用了一个UIView作背景。再把imageview塞进去。
3.设置border作为padding .
4.border自带颜色,需求跟背景一样色。或者透明。
5.iOS 透明色:[UIColor clearColor]
self.recommGoodNameBg = [[UIView alloc]initWithFrame:CGRectMake(0 , 0, 105, 22)]; self.recommGoodNameBg.layer.borderWidth = 4 ; UIColor* recommGoogdBgColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.7f]; self.recommGoodNameBg.backgroundColor =recommGoogdBgColor; self.recommGoodNameBg.layer.borderColor =[UIColor clearColor].CGColor; UIBezierPath *recommGoogsNameMaskPath = [UIBezierPath bezierPathWithRoundedRect:self.recommGoodNameBg.bounds byRoundingCorners:UIRectCornerTopRight|UIRectCornerBottomRight cornerRadii:CGSizeMake(3, 3)]; CAShapeLayer *recommGoogsNameMask = [CAShapeLayer layer]; recommGoogsNameMask.frame = CGRectMake(0 , 0, 105, 22); recommGoogsNameMask.path = recommGoogsNameMaskPath.CGPath; self.recommGoodNameBg.layer.mask = recommGoogsNameMask; self.recommGoodName = [[UILabel alloc]init]; self.recommGoodName.textColor = [UIColor whiteColor]; self.recommGoodName.frame = CGRectMake(4 , 0, 93, 22); self.recommGoodName.text=@"华为P40 pro"; self.recommGoodName.font = [UIFont systemFontOfSize:12.0]; [self.recommGoodNameBg addSubview:self.recommGoodName];
分类:
objective-c
, iOS
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
2018-04-21 ActivityLifecycleCallbacks