swift中UIView的扩展使用
来源:互联网 发布:php改变主目录 编辑:程序博客网 时间:2024/06/05 15:21
github学习地址:https://github.com/potato512/SYSwiftLearning
扩展类代码:
import UIKitextension UIView{ // MARK : 坐标尺寸 var origin:CGPoint { get { return self.frame.origin } set(newValue) { var rect = self.frame rect.origin = newValue self.frame = rect } } var size:CGSize { get { return self.frame.size } set(newValue) { var rect = self.frame rect.size = newValue self.frame = rect } } var left:CGFloat { get { return self.frame.origin.x } set(newValue) { var rect = self.frame rect.origin.x = newValue self.frame = rect } } var top:CGFloat { get { return self.frame.origin.y } set(newValue) { var rect = self.frame rect.origin.y = newValue self.frame = rect } } var right:CGFloat { get { return (self.frame.origin.x + self.frame.size.width) } set(newValue) { var rect = self.frame rect.origin.x = (newValue - self.frame.size.width) self.frame = rect } } var bottom:CGFloat { get { return (self.frame.origin.y + self.frame.size.height) } set(newValue) { var rect = self.frame rect.origin.y = (newValue - self.frame.size.height) self.frame = rect } } // MARK: - 位移 // 移动到指定中心点位置 func moveToPoint(point:CGPoint) -> Void { var center = self.center center.x = point.x center.y = point.y self.center = center } // 缩放到指定大小 func scaleToSize(scale:CGFloat) -> Void { var rect = self.frame rect.size.width *= scale rect.size.height *= scale self.frame = rect } // MARK: - 毛玻璃效果 // 毛玻璃 func effectViewWithAlpha(alpha:CGFloat) -> Void { let effect = UIBlurEffect.init(style: UIBlurEffectStyle.Light) let effectView = UIVisualEffectView.init(effect: effect) effectView.frame = self.bounds effectView.alpha = alpha self.addSubview(effectView) } // MARK: - 边框属性 // 圆角边框设置 func layer(radius radius:CGFloat, borderWidth:CGFloat, borderColor:UIColor) -> Void { if (0.0 < radius) { self.layer.cornerRadius = radius self.layer.masksToBounds = true self.clipsToBounds = true } if (0.0 < borderWidth) { self.layer.borderColor = borderColor.CGColor self.layer.borderWidth = borderWidth } } // MARK: - 翻转 // 旋转 旋转180度 M_PI func viewTransformWithRotation(rotation:CGFloat) -> Void { self.transform = CGAffineTransformMakeRotation(rotation); } // 缩放 func viewScaleWithSize(size:CGFloat) -> Void { self.transform = CGAffineTransformScale(self.transform, size, size); } // 水平,或垂直翻转 func viewFlip(isHorizontal:Bool) -> Void { if (isHorizontal) { // 水平 self.transform = CGAffineTransformScale(self.transform, -1.0, 1.0); } else { // 垂直 self.transform = CGAffineTransformScale(self.transform, 1.0, -1.0); } }}
使用效果图:
使用示例:
let imageView = UIImageView.init(frame: CGRectMake(10.0, 10.0, 60.0, 60.0))self.view.addSubview(imageView) imageView.image = UIImage(named: "header") imageView.backgroundColor = UIColor.colorRandom() imageView.left = 100.0imageView.top = 100.0imageView.size = CGSizeMake(100.0, 100.0)imageView.moveToPoint(CGPointMake(100.0, 100.0))imageView.scaleToSize(2.0)imageView.effectViewWithAlpha(0.6) imageView.layer(radius: 3.0, borderWidth: 1.0, borderColor: UIColor.redColor()) imageView.viewFlip(false) imageView.viewTransformWithRotation(5.0)
阅读全文
0 0
- swift中UIView的扩展使用
- swift中UIView的使用
- swift中UIView的使用
- swift -UIView的使用
- Swift中UIView类方法(animateWithDuration)的使用
- Swift中使用Xib获取UIView控件,结果UIView控件的subViews为nil
- Swift-UIView的创建和使用
- Swift extension(扩展)的使用
- swift扩展UIView实现动画依次执行
- swift 中使用扩展实现代理
- swift 中使用扩展实现代理
- swift 中使用扩展实现代理
- swift使用xib绘制UIView
- Swift 3.0 扩展(extension)的使用
- swift4.0中UIView的frame的扩展封装
- UIView类的UIViewAnimationWithBlocks扩展 和 使用core animation
- Swift 扩展UIView,从而在使用时简单获取point和size,同时使用了get方法
- UIView的类扩展,扩展CGRect
- springmvc 上传/下载 文件
- [Network] 计算机网络基础知识总结
- 最原始的android上传图片到服务器代码(包括客户端和服务器端)
- python的切片的理解
- ADB查看I2C挂载情况
- swift中UIView的扩展使用
- #pragma comment( comment-type [,"commentstring"] )
- Ros下Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed : Attribut
- XMind这几个功能好实用,你用了吗?
- (Kotlin2)Android Studio 中安装 Kotlin Plugin
- POJ 3321 Apple Tree 题解
- Python 3.6 利用psutil 获取服务器磁盘信息
- Android USB模块 qualcomm平台驱动架构分析
- 简述MFC操作Excel相关