-
Notifications
You must be signed in to change notification settings - Fork 11
/
SIViewMacro.h
73 lines (63 loc) · 5.53 KB
/
SIViewMacro.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
//
// SIViewMacros.h
// Category
//
// Created by Silence on 16/02/2017.
// Copyright © 2017 silence. All rights reserved.
//
// Update current frame
#define UPDATE_FRAME_X(newX) do{CGRect __tmpFrame = self.frame; __tmpFrame.origin.x = (newX); self.frame = __tmpFrame;}while(0)
#define UPDATE_FRAME_Y(newY) do{CGRect __tmpFrame = self.frame; __tmpFrame.origin.y = (newY); self.frame = __tmpFrame;}while(0)
#define UPDATE_FRAME_WIDTH(newWidth) do{CGRect __tmpFrame = self.frame; __tmpFrame.size.width = (newWidth); self.frame = __tmpFrame;}while(0)
#define UPDATE_FRAME_HEIGHT(newHeight) do{CGRect __tmpFrame = self.frame; __tmpFrame.size.height = (newHeight); self.frame = __tmpFrame;}while(0)
#define UPDATE_FRAME_SIZE(newSize) do{CGRect __tmpFrame = self.frame; __tmpFrame.size = (newSize); self.frame = __tmpFrame;}while(0)
#define UPDATE_FRAME_ORIGIN(newOrigin) do{CGRect __tmpFrame = self.frame; __tmpFrame.origin = (newOrigin); self.frame = __tmpFrame;}while(0)
// Update a view frame
#define UPDATE_VIEW_FRAME_X(aView, newX) do{CGRect __tmpFrame = aView.frame; __tmpFrame.origin.x = (newX); aView.frame = __tmpFrame;}while(0)
#define UPDATE_VIEW_FRAME_Y(aView, newY) do{CGRect __tmpFrame = aView.frame; __tmpFrame.origin.y = (newY); aView.frame = __tmpFrame;}while(0)
#define UPDATE_VIEW_FRAME_WIDTH(aView, newWidth) do{CGRect __tmpFrame = aView.frame; __tmpFrame.size.width = (newWidth); aView.frame = __tmpFrame;}while(0)
#define UPDATE_VIEW_FRAME_HEIGHT(aView, newHeight) do{CGRect __tmpFrame = aView.frame; __tmpFrame.size.height = (newHeight); aView.frame = __tmpFrame;}while(0)
#define UPDATE_VIEW_FRAME_SIZE(aView,newSize) do{CGRect __tmpFrame = aView.frame; __tmpFrame.size = (newSize); aView.frame = __tmpFrame;}while(0)
#define UPDATE_VIEW_FRAME_ORIGIN(aView,newOrigin) do{CGRect __tmpFrame = aView.frame; __tmpFrame.origin = (newOrigin); aView.frame = __tmpFrame;}while(0)
// Update current bounds
#define UPDATE_BOUNDS_X(newX) do{CGRect __tmpBounds = self.bounds; __tmpBounds.origin.x = (newX); self.bounds = __tmpBounds;}while(0)
#define UPDATE_BOUNDS_Y(newY) do{CGRect __tmpBounds = self.bounds; __tmpBounds.origin.y = (newY); self.bounds = __tmpBounds;}while(0)
#define UPDATE_BOUNDS_WIDTH(newWidth) do{CGRect __tmpBounds = self.bounds; __tmpBounds.size.width = (newWidth); self.bounds = __tmpBounds;}while(0)
#define UPDATE_BOUNDS_HEIGHT(newHeight) do{CGRect __tmpBounds = self.bounds; __tmpBounds.size.height = (newHeight); self.bounds = __tmpBounds;}while(0)
#define UPDATE_BOUNDS_SIZE(newSize) do{CGRect __tmpBounds = self.bounds; __tmpBounds.size = (newSize); self.bounds = __tmpBounds;}while(0)
#define UPDATE_BOUNDS_ORIGIN(newOrigin) do{CGRect __tmpBounds = self.bounds; __tmpBounds.origin = (newOrigin); self.bounds = __tmpBounds;}while(0)
// Update a view bounds
#define UPDATE_VIEW_BOUNDS_X(aView, newX) do{CGRect __tmpBounds = aView.bounds; __tmpBounds.origin.x = (newX); aView.bounds = __tmpBounds;}while(0)
#define UPDATE_VIEW_BOUNDS_Y(aView, newY) do{CGRect __tmpBounds = aView.bounds; __tmpBounds.origin.y = (newY); aView.bounds = __tmpBounds;}while(0)
#define UPDATE_VIEW_BOUNDS_WIDTH(aView, newWidth) do{CGRect __tmpBounds = aView.bounds; __tmpBounds.size.width = (newWidth); aView.bounds = __tmpBounds;}while(0)
#define UPDATE_VIEW_BOUNDS_HEIGHT(aView, newHeight) do{CGRect __tmpBounds = aView.bounds; __tmpBounds.size.height = (newHeight); aView.bounds = __tmpBounds;}while(0)
#define UPDATE_VIEW_BOUNDS_SIZE(aView,newSize) do{CGRect __tmpBounds = aView.bounds; __tmpBounds.size = (newSize); aView.bounds = __tmpBounds;}while(0)
#define UPDATE_VIEW_BOUNDS_ORIGIN(aView,newOrigin) do{CGRect __tmpBounds = aView.bounds; __tmpBounds.origin = (newOrigin); aView.bounds = __tmpBounds;}while(0)
// Update current center
#define UPDATE_CENTER_X(newX) do{CGPoint __tmpCenter = self.center; __tmpCenter.x = (newX); self.center = __tmpCenter;}while(0)
#define UPDATE_CENTER_Y(newY) do{CGPoint __tmpCenter = self.center; __tmpCenter.y = (newY); self.center = __tmpCenter;}while(0)
// Update a view center
#define UPDATE_VIEW_CENTER_X(aView, newX) do{CGPoint __tmpCenter = aView.center; __tmpCenter.x = (newX); aView.center = __tmpCenter;}while(0)
#define UPDATE_VIEW_CENTER_Y(aView, newY) do{CGPoint __tmpCenter = aView.center; __tmpCenter.y = (newY); aView.center = __tmpCenter;}while(0)
// Autoresizing mask
#define UIViewAutoresizingTopAlign (UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth)
#define UIViewAutoresizingBottomAlign (UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth)
#define UIViewAutoresizingCentered (UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin)
#define UIViewAutoresizingFill (UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth)
// Default components size
#define STATUS_BAR_DEFAULT_HEIGHT 20
#define NAVIGATION_BAR_DEFAULT_HEIGHT 44
#define TOOLBAR_DEFAULT_HEIGHT 44
#define TABBAR_DEFAULT_HEIGHT 56
// View 圆角和加边框
#define ViewBorderRadius(View, Radius, Width, Color)\
\
[View.layer setCornerRadius:(Radius)];\
[View.layer setMasksToBounds:YES];\
[View.layer setBorderWidth:(Width)];\
[View.layer setBorderColor:[Color CGColor]]
// View 圆角
#define ViewRadius(View, Radius)\
\
[View.layer setCornerRadius:(Radius)];\
[View.layer setMasksToBounds:YES]