原理和xib中设置边框一样,我大概说一下流程。废话不多说,看图:

相当于代码:

view.layer.shadowOffset = CGSizeMake(0, 5);

view.layer.shadowColor = [UIColor blackColor].CGColor;

view.layer.shadowOpacity = 0.05;//阴影透明度,默认0

view.layer.shadowRadius = 5;//阴影半径,默认3

view.layer.masksToBounds = NO;

看见上面图片划线的那个 shadowUIColor 而不是 shadowColor,原因和设置边框的一样 layer.shadowColor 的类型是 CGColorRef 而不是 UIColor,xib中所选择的颜色类型是 UIColor,所以我们还差最后一步,添加一个 CALayer+XibConfiguration

.h内容:

#import <QuartzCore/QuartzCore.h>@interface CALayer (XibConfiguration)// This assigns a CGColor to borderColor.@property(nonatomic, assign) UIColor *borderUIColor;
@property(nonatomic, assign) UIColor *shadowUIColor;@end

.m内容:

#import "CALayer+XibConfiguration.h"@implementation CALayer (XibConfiguration)-(void)setBorderUIColor:(UIColor*)color
{self.borderColor = color.CGColor;
}-(UIColor *)borderUIColor
{return [UIColor colorWithCGColor:self.borderColor];
}-(void)setShadowUIColor:(UIColor*)color
{self.shadowColor = color.CGColor;
}-(UIColor *)shadowUIColor
{return [UIColor colorWithCGColor:self.shadowColor];
}@end

因为 CALayer+XibConfiguration 中定义的是  shadowUIColor 所以xib中才是  shadowUIColor。

我再讲一个小细节,如果你还想设置圆角,那你就先设置阴影后设置圆角,如上面那张图那个顺序,不然圆角设置不成功。(我就是被这个细节坑了,有问题请留言)。

iOS xib设置阴影相关推荐

  1. xib 设置阴影_使用“IBInspectable”XIB设置圆角、边框、阴影

    iOS开发中使用xib和storyboard可以节约大量的写UI代码的时间.这也是苹果官方比较推荐的方式.不过使用IB的方式来布局页面难免遇到一些需要设置圆角(cornerRadius).阴影(sha ...

  2. xib 设置阴影_影响uiview阴影的约束?

    我正在试图在我的视图控制器中的uiview的所有四个面上建立一个阴影,在我通过xcode向uiview添加约束之前,它工作得非常好.如何使uiview的阴影显示在所有四个边上,并为所有边设置约束? 本 ...

  3. iOS Xib Storyboard

    iOS Xib & Storyboard InterfaceBuilder Xib文件 Xib解析方式 模拟示例 Storyboard storyboard分析 storyboard的启动 在 ...

  4. ios xib 如何适配iphoneX,且需要支持到ios8以上

    需求: 接手的项目里面界面都是用xib写的,产品让适配iphoneX: 问题: 要求项目支持到ios8以上,我看网上的资料,说适配iphonex,xib 约束用safe area就可以,可是safe ...

  5. [iOS]xib中UILabel的Attributed属性介绍

    [iOS]xib中UILabel的Attributed属性介绍 xib中的Label,可以在属性板上选择无格式(Plain)或富文本格式(Attributed).如下: Attributed面板说明: ...

  6. IOS开发设置应用程序App启动图片

    IOS开发设置应用程序App启动图片 在资源Assets 的图片区域 右键建立一个Launch Image ,如第二张图,然后把相应的启动图片拖进去. 最后选中项目,找到 Assets ,设置 启动图 ...

  7. iOS 怎么设置 UITabBarController 的第n个item为第一响应者?

    iOS 怎么设置 UITabBarController 的第n个item为第一响应者? UITabBarController 里面有个属性:selectedIndex @property(nonato ...

  8. 李洪强iOS之集成极光推送二iOS 证书 设置指南

    李洪强iOS之集成极光推送二iOS 证书 设置指南 创建应用程序ID 登陆 iOS Dev Center 选择进入iOS Provisioning Portal. 在 iOS Provisioning ...

  9. [iOS Xib加载/封装] xib加载以后无法赋值Laber属性的值

    参考:iOS - xib史上最全说明 今天用xib封装一个view,已达到特定的需求, 然后发现 一开始的方法无法在加载xib之后对其中的Laber赋值, 错误❌ 的方式: 重写了init方法,使用a ...

最新文章

  1. android tomcat乱码问题,Tomcat在处理GET和POST请求时产生的乱码问题
  2. linux 内核 hook函数介绍
  3. oracle删除导入的文件,oracle创建表空间,导入出文件,删除
  4. cap流程图_3D流程图
  5. 【java】System.getProperty()参数大全
  6. gitlab修改配置重启_centos7下gitlab安装说明
  7. C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
  8. [C++] c language 23 keywords
  9. 【Vue2.0】—ref属性(十四)
  10. 6. 移动端Web开发调试之Chrome远程调试(Remote Debugging)
  11. jQuery常用语法笔记
  12. 重温计算机简史:从石头计数到计算机
  13. Mermaid制作甘特图
  14. vue中echarts纵轴添加点击事件
  15. oracle通信通道的文件结尾_Oracle错误——ORA-03113:通信通道的文件结尾 解决办法...
  16. 仿真软件ADS2015安装破解教程
  17. AS608指纹模块高级功能实现(一):底层数据传输——指纹特征库上传给上位机
  18. 如何入门独立开放游戏
  19. 逃避不一定躲得过,面对不一定最难过
  20. eDiary 个人日记本使用技巧

热门文章

  1. leetcode编译器报错总结
  2. 点云数据bin格式转换为pcd格式的方法
  3. 集成融云 IM 问题总结
  4. Win32下的打印作业输出
  5. Python sum() TypeError: ‘int‘ object is not callable xxxxxxxxx XXXXXXXXXX
  6. Pytorch最全安装教程(一步到位)
  7. fpga使用spi协议擦除读写flash芯片
  8. 利用MinproI给FLASH芯片烧写固件,给ESP8266更换更大容量的flash
  9. GB 12350-2009 小功率电动机的安全要求,电机ccc认证机构,电机3c认证机构
  10. fisheyedemo问题