iOS xib设置阴影
原理和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设置阴影相关推荐
- xib 设置阴影_使用“IBInspectable”XIB设置圆角、边框、阴影
iOS开发中使用xib和storyboard可以节约大量的写UI代码的时间.这也是苹果官方比较推荐的方式.不过使用IB的方式来布局页面难免遇到一些需要设置圆角(cornerRadius).阴影(sha ...
- xib 设置阴影_影响uiview阴影的约束?
我正在试图在我的视图控制器中的uiview的所有四个面上建立一个阴影,在我通过xcode向uiview添加约束之前,它工作得非常好.如何使uiview的阴影显示在所有四个边上,并为所有边设置约束? 本 ...
- iOS Xib Storyboard
iOS Xib & Storyboard InterfaceBuilder Xib文件 Xib解析方式 模拟示例 Storyboard storyboard分析 storyboard的启动 在 ...
- ios xib 如何适配iphoneX,且需要支持到ios8以上
需求: 接手的项目里面界面都是用xib写的,产品让适配iphoneX: 问题: 要求项目支持到ios8以上,我看网上的资料,说适配iphonex,xib 约束用safe area就可以,可是safe ...
- [iOS]xib中UILabel的Attributed属性介绍
[iOS]xib中UILabel的Attributed属性介绍 xib中的Label,可以在属性板上选择无格式(Plain)或富文本格式(Attributed).如下: Attributed面板说明: ...
- IOS开发设置应用程序App启动图片
IOS开发设置应用程序App启动图片 在资源Assets 的图片区域 右键建立一个Launch Image ,如第二张图,然后把相应的启动图片拖进去. 最后选中项目,找到 Assets ,设置 启动图 ...
- iOS 怎么设置 UITabBarController 的第n个item为第一响应者?
iOS 怎么设置 UITabBarController 的第n个item为第一响应者? UITabBarController 里面有个属性:selectedIndex @property(nonato ...
- 李洪强iOS之集成极光推送二iOS 证书 设置指南
李洪强iOS之集成极光推送二iOS 证书 设置指南 创建应用程序ID 登陆 iOS Dev Center 选择进入iOS Provisioning Portal. 在 iOS Provisioning ...
- [iOS Xib加载/封装] xib加载以后无法赋值Laber属性的值
参考:iOS - xib史上最全说明 今天用xib封装一个view,已达到特定的需求, 然后发现 一开始的方法无法在加载xib之后对其中的Laber赋值, 错误❌ 的方式: 重写了init方法,使用a ...
最新文章
- android tomcat乱码问题,Tomcat在处理GET和POST请求时产生的乱码问题
- linux 内核 hook函数介绍
- oracle删除导入的文件,oracle创建表空间,导入出文件,删除
- cap流程图_3D流程图
- 【java】System.getProperty()参数大全
- gitlab修改配置重启_centos7下gitlab安装说明
- C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
- [C++] c language 23 keywords
- 【Vue2.0】—ref属性(十四)
- 6. 移动端Web开发调试之Chrome远程调试(Remote Debugging)
- jQuery常用语法笔记
- 重温计算机简史:从石头计数到计算机
- Mermaid制作甘特图
- vue中echarts纵轴添加点击事件
- oracle通信通道的文件结尾_Oracle错误——ORA-03113:通信通道的文件结尾 解决办法...
- 仿真软件ADS2015安装破解教程
- AS608指纹模块高级功能实现(一):底层数据传输——指纹特征库上传给上位机
- 如何入门独立开放游戏
- 逃避不一定躲得过,面对不一定最难过
- eDiary 个人日记本使用技巧
热门文章
- leetcode编译器报错总结
- 点云数据bin格式转换为pcd格式的方法
- 集成融云 IM 问题总结
- Win32下的打印作业输出
- Python sum() TypeError: ‘int‘ object is not callable xxxxxxxxx XXXXXXXXXX
- Pytorch最全安装教程(一步到位)
- fpga使用spi协议擦除读写flash芯片
- 利用MinproI给FLASH芯片烧写固件,给ESP8266更换更大容量的flash
- GB 12350-2009 小功率电动机的安全要求,电机ccc认证机构,电机3c认证机构
- fisheyedemo问题