author | unc0rr |
Mon, 23 Jan 2017 23:43:29 +0300 | |
changeset 12147 | 4d7d41be1993 |
parent 11221 | e68b3e392091 |
permissions | -rwxr-xr-x |
6658
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
1 |
// |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
2 |
// MGSplitDividerView.m |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
3 |
// MGSplitView |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
4 |
// |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
5 |
// Created by Matt Gemmell on 26/07/2010. |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
6 |
// Copyright 2010 Instinctive Code. |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
7 |
// |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
8 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
9 |
#import "MGSplitDividerView.h" |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
10 |
#import "MGSplitViewController.h" |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
11 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
12 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
13 |
@implementation MGSplitDividerView |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
14 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
15 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
16 |
#pragma mark - |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
17 |
#pragma mark Setup and teardown |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
18 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
19 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
20 |
- (id)initWithFrame:(CGRect)frame |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
21 |
{ |
11115
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
22 |
if ((self = [super initWithFrame:frame])) { |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
23 |
self.userInteractionEnabled = NO; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
24 |
self.allowsDragging = NO; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
25 |
self.contentMode = UIViewContentModeRedraw; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
26 |
} |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
27 |
return self; |
6658
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
28 |
} |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
29 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
30 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
31 |
- (void)dealloc |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
32 |
{ |
11115
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
33 |
self.splitViewController = nil; |
6658
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
34 |
} |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
35 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
36 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
37 |
#pragma mark - |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
38 |
#pragma mark Drawing |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
39 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
40 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
41 |
- (void)drawRect:(CGRect)rect |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
42 |
{ |
11115
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
43 |
if (splitViewController.dividerStyle == MGSplitViewDividerStyleThin) { |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
44 |
[super drawRect:rect]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
45 |
|
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
46 |
} else if (splitViewController.dividerStyle == MGSplitViewDividerStylePaneSplitter) { |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
47 |
// Draw gradient background. |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
48 |
CGRect bounds = self.bounds; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
49 |
CGColorSpaceRef rgb = CGColorSpaceCreateDeviceRGB(); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
50 |
CGFloat locations[2] = {0, 1}; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
51 |
CGFloat components[8] = { 0.988f, 0.988f, 0.988f, 1.0, // light |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
52 |
0.875, 0.875, 0.875, 1.0 };// dark |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
53 |
CGGradientRef gradient = CGGradientCreateWithColorComponents (rgb, components, locations, 2); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
54 |
CGContextRef context = UIGraphicsGetCurrentContext(); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
55 |
CGPoint start, end; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
56 |
if (splitViewController.vertical) { |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
57 |
// Light left to dark right. |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
58 |
start = CGPointMake(CGRectGetMinX(bounds), CGRectGetMidY(bounds)); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
59 |
end = CGPointMake(CGRectGetMaxX(bounds), CGRectGetMidY(bounds)); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
60 |
} else { |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
61 |
// Light top to dark bottom. |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
62 |
start = CGPointMake(CGRectGetMidX(bounds), CGRectGetMinY(bounds)); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
63 |
end = CGPointMake(CGRectGetMidX(bounds), CGRectGetMaxY(bounds)); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
64 |
} |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
65 |
CGContextDrawLinearGradient(context, gradient, start, end, 0); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
66 |
CGColorSpaceRelease(rgb); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
67 |
CGGradientRelease(gradient); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
68 |
|
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
69 |
// Draw borders. |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
70 |
float borderThickness = 1.0; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
71 |
[[UIColor colorWithWhite:0.7f alpha:1.0] set]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
72 |
CGRect borderRect = bounds; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
73 |
if (splitViewController.vertical) { |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
74 |
borderRect.size.width = borderThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
75 |
UIRectFill(borderRect); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
76 |
borderRect.origin.x = CGRectGetMaxX(bounds) - borderThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
77 |
UIRectFill(borderRect); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
78 |
|
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
79 |
} else { |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
80 |
borderRect.size.height = borderThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
81 |
UIRectFill(borderRect); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
82 |
borderRect.origin.y = CGRectGetMaxY(bounds) - borderThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
83 |
UIRectFill(borderRect); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
84 |
} |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
85 |
|
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
86 |
// Draw grip. |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
87 |
[self drawGripThumbInRect:bounds]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
88 |
} |
6658
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
89 |
} |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
90 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
91 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
92 |
- (void)drawGripThumbInRect:(CGRect)rect |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
93 |
{ |
11115
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
94 |
float width = 9.0; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
95 |
float height; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
96 |
if (splitViewController.vertical) { |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
97 |
height = 30.0; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
98 |
} else { |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
99 |
height = width; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
100 |
width = 30.0; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
101 |
} |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
102 |
|
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
103 |
// Draw grip in centred in rect. |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
104 |
CGRect gripRect = CGRectMake(0, 0, width, height); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
105 |
gripRect.origin.x = ((rect.size.width - gripRect.size.width) / 2.f); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
106 |
gripRect.origin.y = ((rect.size.height - gripRect.size.height) / 2.f); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
107 |
|
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
108 |
float stripThickness = 1.0; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
109 |
UIColor *stripColor = [UIColor colorWithWhite:0.35f alpha:1.0]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
110 |
UIColor *lightColor = [UIColor colorWithWhite:1.0 alpha:1.0]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
111 |
float space = 3.0; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
112 |
if (splitViewController.vertical) { |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
113 |
gripRect.size.width = stripThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
114 |
[stripColor set]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
115 |
UIRectFill(gripRect); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
116 |
|
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
117 |
gripRect.origin.x += stripThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
118 |
gripRect.origin.y += 1; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
119 |
[lightColor set]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
120 |
UIRectFill(gripRect); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
121 |
gripRect.origin.x -= stripThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
122 |
gripRect.origin.y -= 1; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
123 |
|
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
124 |
gripRect.origin.x += space + stripThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
125 |
[stripColor set]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
126 |
UIRectFill(gripRect); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
127 |
|
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
128 |
gripRect.origin.x += stripThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
129 |
gripRect.origin.y += 1; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
130 |
[lightColor set]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
131 |
UIRectFill(gripRect); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
132 |
gripRect.origin.x -= stripThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
133 |
gripRect.origin.y -= 1; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
134 |
|
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
135 |
gripRect.origin.x += space + stripThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
136 |
[stripColor set]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
137 |
UIRectFill(gripRect); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
138 |
|
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
139 |
gripRect.origin.x += stripThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
140 |
gripRect.origin.y += 1; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
141 |
[lightColor set]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
142 |
UIRectFill(gripRect); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
143 |
|
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
144 |
} else { |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
145 |
gripRect.size.height = stripThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
146 |
[stripColor set]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
147 |
UIRectFill(gripRect); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
148 |
|
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
149 |
gripRect.origin.y += stripThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
150 |
gripRect.origin.x -= 1; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
151 |
[lightColor set]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
152 |
UIRectFill(gripRect); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
153 |
gripRect.origin.y -= stripThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
154 |
gripRect.origin.x += 1; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
155 |
|
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
156 |
gripRect.origin.y += space + stripThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
157 |
[stripColor set]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
158 |
UIRectFill(gripRect); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
159 |
|
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
160 |
gripRect.origin.y += stripThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
161 |
gripRect.origin.x -= 1; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
162 |
[lightColor set]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
163 |
UIRectFill(gripRect); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
164 |
gripRect.origin.y -= stripThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
165 |
gripRect.origin.x += 1; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
166 |
|
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
167 |
gripRect.origin.y += space + stripThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
168 |
[stripColor set]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
169 |
UIRectFill(gripRect); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
170 |
|
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
171 |
gripRect.origin.y += stripThickness; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
172 |
gripRect.origin.x -= 1; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
173 |
[lightColor set]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
174 |
UIRectFill(gripRect); |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
175 |
} |
6658
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
176 |
} |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
177 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
178 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
179 |
#pragma mark - |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
180 |
#pragma mark Interaction |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
181 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
182 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
183 |
- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
184 |
{ |
11115
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
185 |
UITouch *touch = [touches anyObject]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
186 |
if (touch) { |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
187 |
CGPoint lastPt = [touch previousLocationInView:self]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
188 |
CGPoint pt = [touch locationInView:self]; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
189 |
float offset = (splitViewController.vertical) ? pt.x - lastPt.x : pt.y - lastPt.y; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
190 |
if (!splitViewController.masterBeforeDetail) { |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
191 |
offset = -offset; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
192 |
} |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
193 |
splitViewController.splitPosition = splitViewController.splitPosition + offset; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
194 |
} |
6658
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
195 |
} |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
196 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
197 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
198 |
#pragma mark - |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
199 |
#pragma mark Accessors and properties |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
200 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
201 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
202 |
- (void)setAllowsDragging:(BOOL)flag |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
203 |
{ |
11115
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
204 |
if (flag != allowsDragging) { |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
205 |
allowsDragging = flag; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
206 |
self.userInteractionEnabled = allowsDragging; |
3729ac42189b
- MGSplitViewController updated to last version with iOS 8 fixes
antonc27 <antonc27@mail.ru>
parents:
8441
diff
changeset
|
207 |
} |
6658
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
208 |
} |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
209 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
210 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
211 |
@synthesize splitViewController; |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
212 |
@synthesize allowsDragging; |
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
213 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
214 |
|
2cccf6b2b89d
added MGSplitViewController, popular replacement for uisplitviewcontrollers: this brings rotation support to our settings pages! weapons and schemes are the only controllers displaying minor glitches
koda
parents:
diff
changeset
|
215 |
@end |