瀏覽代碼

修改bundle前的节点

zzb 4 年之前
父節點
當前提交
f7b01cd892

+ 2 - 0
Example/Podfile

@@ -2,6 +2,8 @@ use_frameworks!
 
 platform :ios, '9.0'
 
+source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
+
 target 'ZZUIKit_Example' do
   pod 'ZZUIKit', :path => '../'
   pod 'Masonry', '~> 1.1.0'

+ 35 - 0
ZZUIKit/Classes/Ex/View/UIView+ZZCornerRadius.h

@@ -0,0 +1,35 @@
+//
+//  UIView+ZZCornerRadius.h
+//  meimeika
+//
+//  Created by bym on 2019/10/12.
+//  Copyright © 2019 sun. All rights reserved.
+//
+
+
+#import <UIKit/UIKit.h>
+IB_DESIGNABLE
+NS_ASSUME_NONNULL_BEGIN
+
+@interface UIView (ZZCornerRadius)
+@property (nonatomic, assign) IBInspectable CGFloat ZZIBCornerRadius;
+@property (nonatomic, assign) IBInspectable CGFloat ZZIBBorderWidth;
+@property (nonatomic, strong) IBInspectable UIColor *ZZIBBorderColor;
+
+/**
+/// 图层可选的倒角
+@param corners 圆角枚举
+@param cornerRadii 圆角大小
+*/
+-(void)ZZCornerRadiusByRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii;
+
+/**
+ /// 自定义图层大小的圆角
+ @param corners 圆角枚举
+ @param cornerRadii 圆角大小
+ @param layerRect 图层大小
+ */
+-(void)ZZCornerRadiusByRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii layerRect:(CGRect)layerRect;
+@end
+
+NS_ASSUME_NONNULL_END

+ 64 - 0
ZZUIKit/Classes/Ex/View/UIView+ZZCornerRadius.m

@@ -0,0 +1,64 @@
+//
+//  UIView+ZZCornerRadius.m
+//  meimeika
+//
+//  Created by bym on 2019/10/12.
+//  Copyright © 2019 sun. All rights reserved.
+//
+
+#import "UIView+ZZCornerRadius.h"
+#import <objc/runtime.h>
+
+
+@implementation UIView (ZZCornerRadius)
+
+#pragma mark - CoreRadius
+-(void)ZZCornerRadiusByRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii layerRect:(CGRect)layerRect{
+	CGRect oldRect = layerRect;
+	UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:oldRect byRoundingCorners:corners cornerRadii:cornerRadii];
+	CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
+	maskLayer.path = maskPath.CGPath;
+	maskLayer.frame = oldRect;
+	self.layer.mask = maskLayer;
+}
+
+-(void)ZZCornerRadiusByRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)cornerRadii{
+	CGRect oldRect = self.bounds;
+	UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:oldRect byRoundingCorners:corners cornerRadii:cornerRadii];
+	CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
+	maskLayer.path = maskPath.CGPath;
+	maskLayer.frame = oldRect;
+	self.layer.mask = maskLayer;
+}
+
+- (void)setZZIBCornerRadius:(CGFloat)cornerRadius {
+    objc_setAssociatedObject(self, @selector(cornerRadius), @(cornerRadius), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
+    self.layer.cornerRadius = cornerRadius;
+    self.layer.masksToBounds = YES;
+}
+
+- (CGFloat)ZZIBCornerRadius {
+    return [objc_getAssociatedObject(self, _cmd) floatValue];
+}
+
+#pragma mark - BorderWidth
+- (void)setZZIBBorderWidth:(CGFloat)borderWidth {
+    objc_setAssociatedObject(self, @selector(borderWidth), @(borderWidth), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
+    self.layer.borderWidth = borderWidth;
+    self.layer.masksToBounds = YES;
+}
+
+- (CGFloat)ZZIBBorderWidth {
+    return [objc_getAssociatedObject(self, _cmd) floatValue];
+}
+
+#pragma mark - BoderColor
+- (void)setZZIBBorderColor:(UIColor *)borderColor {
+    objc_setAssociatedObject(self, @selector(borderColor),borderColor, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
+    self.layer.borderColor = borderColor.CGColor;
+}
+
+- (UIColor *)ZZIBBorderColor {
+    return objc_getAssociatedObject(self, _cmd);
+}
+@end

+ 2 - 0
ZZUIKit/Classes/Tools/ZZFrame.h

@@ -22,3 +22,5 @@ FOUNDATION_EXPORT CGFloat BOTTOM_PADDING(void);
 FOUNDATION_EXPORT CGFloat zz_adapt(CGFloat value);
 //按照给定比例缩放
 FOUNDATION_EXPORT CGFloat zz_adaptRatio(CGFloat origin,CGFloat ratio);
+
+FOUNDATION_EXPORT CGFloat zz_screenOriginY(void);

+ 6 - 0
ZZUIKit/Classes/Tools/ZZFrame.m

@@ -6,6 +6,7 @@
 //
 
 #import "ZZFrame.h"
+#import <ZZUIKit/ZZUIKitTools.h>
 
 CGFloat SCREEN_H(){
     return [UIScreen mainScreen].bounds.size.height;
@@ -54,3 +55,8 @@ CGFloat zz_adapt(CGFloat value){
 CGFloat zz_adaptRatio(CGFloat origin,CGFloat ratio){
     return origin * ratio;
 }
+
+//屏幕y0点
+CGFloat zz_screenOriginY(void){
+    return [ZZViewHierarchy ZZCurrentViewController].navigationController.navigationBar.translucent ? NAV_STATUS_BAR_H() : 0;
+}