【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];

 

posted on 2020-04-21 19:49  wp7ers  阅读(218)  评论(0编辑  收藏  举报