zoukankan      html  css  js  c++  java
  • 【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];
  • 相关阅读:
    130517Dev GridControl建立多行复杂表头(Banded View)时,统计列与对应列无法对齐的解决办法
    C&C++标准库
    Linux操作系统下的多线程编程详细解析
    Ubuntu12.04用户以root身份登录
    ubuntu永久修改主机名
    linux信号 linux signal
    淘宝api 登录验证
    淘宝开店 防骗 易赛加款诈骗|冲q币恶意差评
    面试..
    test
  • 原文地址:https://www.cnblogs.com/mamamia/p/12747349.html
Copyright © 2011-2022 走看看