Initial commit
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// GiGaBlockButton.h
|
||||
// GIGA
|
||||
//
|
||||
// Created by lianxiang on 2018/8/20.
|
||||
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
typedef void (^ClickActionBlock)(UIButton *);
|
||||
|
||||
@interface GiGaBlockButton : UIButton
|
||||
|
||||
@property(nonatomic,copy) ClickActionBlock clickBlock;
|
||||
-(void)initWithBlock:(ClickActionBlock)clickBlock for:(UIControlEvents)envent;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,20 @@
|
||||
//
|
||||
// GiGaBlockButton.m
|
||||
// GIGA
|
||||
//
|
||||
// Created by lianxiang on 2018/8/20.
|
||||
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||
//
|
||||
|
||||
#import "GiGaBlockButton.h"
|
||||
|
||||
@implementation GiGaBlockButton
|
||||
|
||||
-(void)initWithBlock:(ClickActionBlock)clickBlock for:(UIControlEvents)envent{
|
||||
[self addTarget:self action:@selector(btnAction:) forControlEvents:envent];
|
||||
self.clickBlock = clickBlock;
|
||||
}
|
||||
-(void)btnAction:(UIButton *)btn{
|
||||
self.clickBlock(btn);
|
||||
}
|
||||
@end
|
||||
@@ -0,0 +1,20 @@
|
||||
//
|
||||
// UINavigationBar+Custom.h
|
||||
// GIGA
|
||||
//
|
||||
// Created by lianxiang on 2018/8/13.
|
||||
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface UINavigationBar (Custom)
|
||||
|
||||
- (void)cnSetBackgroundColor:(UIColor *)backgroundColor;
|
||||
- (void)cnReset;
|
||||
//设置透明导航
|
||||
-(void)setClearNav;
|
||||
|
||||
-(void)resetBackgroundImage;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,65 @@
|
||||
//
|
||||
// UINavigationBar+Custom.m
|
||||
// GIGA
|
||||
//
|
||||
// Created by lianxiang on 2018/8/13.
|
||||
// Copyright © 2018年 com.giga.ios. All rights reserved.
|
||||
//
|
||||
#import <objc/runtime.h>
|
||||
#import "UINavigationBar+Custom.h"
|
||||
static char overlayKey;
|
||||
|
||||
@implementation UINavigationBar (Custom)
|
||||
- (UIView *)overlay
|
||||
{
|
||||
return objc_getAssociatedObject(self, &overlayKey);
|
||||
}
|
||||
|
||||
- (void)setOverlay:(UIView *)overlay
|
||||
{
|
||||
objc_setAssociatedObject(self, &overlayKey, overlay, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
|
||||
}
|
||||
|
||||
- (void)cnSetBackgroundColor:(UIColor *)backgroundColor
|
||||
{
|
||||
if (!self.overlay) {
|
||||
[self setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
|
||||
self.overlay = [[UIView alloc] initWithFrame:CGRectMake(0, -20, [UIScreen mainScreen].bounds.size.width, CGRectGetHeight(self.bounds) + 20)];
|
||||
self.overlay.userInteractionEnabled = NO;
|
||||
self.overlay.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
|
||||
[self insertSubview:self.overlay atIndex:0];
|
||||
}
|
||||
|
||||
self.overlay.backgroundColor = backgroundColor;
|
||||
}
|
||||
|
||||
- (void)cnReset
|
||||
{
|
||||
|
||||
[self setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
|
||||
[self.overlay removeFromSuperview];
|
||||
self.overlay = nil;
|
||||
}
|
||||
|
||||
-(void)setClearNav
|
||||
{
|
||||
|
||||
[self setBackgroundImage:[[UIImage alloc] init] forBarMetrics:UIBarMetricsDefault];
|
||||
//设置那条横线直接隐藏
|
||||
self.shadowImage = [[UIImage alloc] init];
|
||||
if (self.overlay) {
|
||||
[self.overlay removeFromSuperview];
|
||||
self.overlay = nil;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
-(void)resetBackgroundImage{
|
||||
|
||||
[self setBackgroundImage:[UIImage imageNamed:@""] forBarMetrics:UIBarMetricsDefault];
|
||||
[[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:NO];
|
||||
|
||||
|
||||
}
|
||||
|
||||
@end
|
||||
Executable
+87
@@ -0,0 +1,87 @@
|
||||
//
|
||||
// Copyright 2009-2010 Facebook
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@interface UIView (Sizes)
|
||||
|
||||
/**
|
||||
* Shortcut for frame.origin.x.
|
||||
*
|
||||
* Sets frame.origin.x = left
|
||||
*/
|
||||
@property (nonatomic) CGFloat left;
|
||||
|
||||
/**
|
||||
* Shortcut for frame.origin.y
|
||||
*
|
||||
* Sets frame.origin.y = top
|
||||
*/
|
||||
@property (nonatomic) CGFloat top;
|
||||
|
||||
/**
|
||||
* Shortcut for frame.origin.x + frame.size.width
|
||||
*
|
||||
* Sets frame.origin.x = right - frame.size.width
|
||||
*/
|
||||
@property (nonatomic) CGFloat right;
|
||||
|
||||
/**
|
||||
* Shortcut for frame.origin.y + frame.size.height
|
||||
*
|
||||
* Sets frame.origin.y = bottom - frame.size.height
|
||||
*/
|
||||
@property (nonatomic) CGFloat bottom;
|
||||
|
||||
/**
|
||||
* Shortcut for frame.size.width
|
||||
*
|
||||
* Sets frame.size.width = width
|
||||
*/
|
||||
@property (nonatomic) CGFloat width;
|
||||
|
||||
/**
|
||||
* Shortcut for frame.size.height
|
||||
*
|
||||
* Sets frame.size.height = height
|
||||
*/
|
||||
@property (nonatomic) CGFloat height;
|
||||
|
||||
/**
|
||||
* Shortcut for center.x
|
||||
*
|
||||
* Sets center.x = centerX
|
||||
*/
|
||||
@property (nonatomic) CGFloat centerX;
|
||||
|
||||
/**
|
||||
* Shortcut for center.y
|
||||
*
|
||||
* Sets center.y = centerY
|
||||
*/
|
||||
@property (nonatomic) CGFloat centerY;
|
||||
|
||||
/**
|
||||
* Shortcut for frame.origin
|
||||
*/
|
||||
@property (nonatomic) CGPoint origin;
|
||||
|
||||
/**
|
||||
* Shortcut for frame.size
|
||||
*/
|
||||
@property (nonatomic) CGSize size;
|
||||
|
||||
@end
|
||||
Executable
+118
@@ -0,0 +1,118 @@
|
||||
//
|
||||
// Copyright 2009-2010 Facebook
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
//
|
||||
|
||||
#import "UIView+Sizes.h"
|
||||
|
||||
@implementation UIView (Sizes)
|
||||
|
||||
- (CGFloat)left {
|
||||
return self.frame.origin.x;
|
||||
}
|
||||
|
||||
- (void)setLeft:(CGFloat)x {
|
||||
CGRect frame = self.frame;
|
||||
frame.origin.x = floorf(x);
|
||||
self.frame = frame;
|
||||
}
|
||||
|
||||
- (CGFloat)top {
|
||||
return self.frame.origin.y;
|
||||
}
|
||||
|
||||
- (void)setTop:(CGFloat)y {
|
||||
CGRect frame = self.frame;
|
||||
frame.origin.y = floorf(y);
|
||||
self.frame = frame;
|
||||
}
|
||||
|
||||
- (CGFloat)right {
|
||||
return self.frame.origin.x + self.frame.size.width;
|
||||
}
|
||||
|
||||
- (void)setRight:(CGFloat)right {
|
||||
CGRect frame = self.frame;
|
||||
frame.origin.x = floorf(right - frame.size.width);
|
||||
self.frame = frame;
|
||||
}
|
||||
|
||||
- (CGFloat)bottom {
|
||||
return self.frame.origin.y + self.frame.size.height;
|
||||
}
|
||||
|
||||
- (void)setBottom:(CGFloat)bottom {
|
||||
CGRect frame = self.frame;
|
||||
frame.origin.y = floorf(bottom - frame.size.height);
|
||||
self.frame = frame;
|
||||
}
|
||||
|
||||
- (CGFloat)centerX {
|
||||
return self.center.x;
|
||||
}
|
||||
|
||||
- (void)setCenterX:(CGFloat)centerX {
|
||||
self.center = CGPointMake(floorf(centerX), floorf(self.center.y));
|
||||
}
|
||||
|
||||
- (CGFloat)centerY {
|
||||
return self.center.y;
|
||||
}
|
||||
|
||||
- (void)setCenterY:(CGFloat)centerY {
|
||||
self.center = CGPointMake(floorf(self.center.x), floorf(centerY));
|
||||
}
|
||||
|
||||
- (CGFloat)width {
|
||||
return self.frame.size.width;
|
||||
}
|
||||
|
||||
- (void)setWidth:(CGFloat)width {
|
||||
CGRect frame = self.frame;
|
||||
frame.size.width = floorf(width);
|
||||
self.frame = frame;
|
||||
}
|
||||
|
||||
- (CGFloat)height {
|
||||
return self.frame.size.height;
|
||||
}
|
||||
|
||||
- (void)setHeight:(CGFloat)height {
|
||||
CGRect frame = self.frame;
|
||||
frame.size.height = floorf(height);
|
||||
self.frame = frame;
|
||||
}
|
||||
|
||||
- (CGPoint)origin {
|
||||
return self.frame.origin;
|
||||
}
|
||||
|
||||
- (void)setOrigin:(CGPoint)origin {
|
||||
CGRect frame = self.frame;
|
||||
frame.origin = origin;
|
||||
self.frame = frame;
|
||||
}
|
||||
|
||||
- (CGSize)size {
|
||||
return self.frame.size;
|
||||
}
|
||||
|
||||
- (void)setSize:(CGSize)size {
|
||||
CGRect frame = self.frame;
|
||||
frame.size = CGSizeMake(floorf(size.width), floorf(size.height));
|
||||
self.frame = frame;
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
Reference in New Issue
Block a user