-
Notifications
You must be signed in to change notification settings - Fork 112
/
Copy pathCustomPositionVC.swift
111 lines (92 loc) · 4.46 KB
/
CustomPositionVC.swift
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
//
// CustomPositionVC.swift
// VHBoomMenuButtonSwiftDemo
//
// Created by Nightonke on 2017/5/6.
// Copyright © 2017 Nightonke. All rights reserved.
//
import UIKit
import BoomMenuButton
class CustomPositionVC: BoomMenuButtonVC {
@IBOutlet weak var bmb1: BoomMenuButton!
@IBOutlet weak var bmb2: BoomMenuButton!
@IBOutlet weak var bmb3: BoomMenuButton!
@IBOutlet weak var bmb4: BoomMenuButton!
override func viewDidLoad() {
super.viewDidLoad()
initializeBmb1()
initializeBmb2()
initializeBmb3()
initializeBmb4()
}
func initializeBmb1() {
bmb1.buttonEnum = .ham
bmb1.piecePlaceEnum = .custom
bmb1.hamWidth = 10
bmb1.buttonPlaceEnum = .ham_4
for _ in 0..<bmb1.buttonPlaceEnum.buttonNumber() {
bmb1.addBuilder(BuilderManager.hamButtonBuilder())
}
let w_0_5: CGFloat = bmb1.hamWidth / 2
let h_0_5: CGFloat = bmb1.hamHeight / 2
let hm_0_5: CGFloat = bmb1.pieceHorizontalMargin / 2
let vm_0_5: CGFloat = bmb1.pieceVerticalMargin / 2
bmb1.customPiecePlacePositions.append(CGPoint.init(x: -w_0_5 - hm_0_5, y: -h_0_5 - vm_0_5))
bmb1.customPiecePlacePositions.append(CGPoint.init(x: +w_0_5 + hm_0_5, y: -h_0_5 - vm_0_5))
bmb1.customPiecePlacePositions.append(CGPoint.init(x: -w_0_5 - hm_0_5, y: +h_0_5 + vm_0_5))
bmb1.customPiecePlacePositions.append(CGPoint.init(x: +w_0_5 + hm_0_5, y: +h_0_5 + vm_0_5))
}
func initializeBmb2() {
bmb2.buttonEnum = .simpleCircle
bmb2.piecePlaceEnum = .dot_3_1
bmb2.buttonPlaceEnum = .custom
for _ in 0..<bmb2.piecePlaceEnum.pieceNumber() {
bmb2.addBuilder(BuilderManager.simpleCircleButtonBuilder())
}
bmb2.customButtonPlacePositions.append(CGPoint.init(x: -60, y: -60))
bmb2.customButtonPlacePositions.append(CGPoint.init(x: 0, y: 0))
bmb2.customButtonPlacePositions.append(CGPoint.init(x: +60, y: +60))
}
func initializeBmb3() {
bmb3.buttonEnum = .textOutsideCircle
bmb3.piecePlaceEnum = .share
bmb3.buttonPlaceEnum = .custom
for _ in 0..<12 {
bmb3.addBuilder(BuilderManager.textOutsideCircleButtonBuilderWithDifferentPieceColor())
}
let w: CGFloat = 80
let h: CGFloat = 96
let h_0_5: CGFloat = h / 2
let h_1_5: CGFloat = h * 1.5
let hm: CGFloat = bmb3.buttonHorizontalMargin
let vm: CGFloat = bmb3.buttonVerticalMargin
let vm_0_5: CGFloat = vm / 2
let vm_1_5: CGFloat = vm * 1.5
bmb3.customButtonPlacePositions.append(CGPoint.init(x: -w - hm, y: -h_1_5 - vm_1_5))
bmb3.customButtonPlacePositions.append(CGPoint.init(x: 0, y: -h_1_5 - vm_1_5))
bmb3.customButtonPlacePositions.append(CGPoint.init(x: +w + hm, y: -h_1_5 - vm_1_5))
bmb3.customButtonPlacePositions.append(CGPoint.init(x: -w - hm, y: -h_0_5 - vm_0_5))
bmb3.customButtonPlacePositions.append(CGPoint.init(x: 0, y: -h_0_5 - vm_0_5))
bmb3.customButtonPlacePositions.append(CGPoint.init(x: +w + hm, y: -h_0_5 - vm_0_5))
bmb3.customButtonPlacePositions.append(CGPoint.init(x: -w - hm, y: +h_0_5 + vm_0_5))
bmb3.customButtonPlacePositions.append(CGPoint.init(x: 0, y: +h_0_5 + vm_0_5))
bmb3.customButtonPlacePositions.append(CGPoint.init(x: +w + hm, y: +h_0_5 + vm_0_5))
bmb3.customButtonPlacePositions.append(CGPoint.init(x: -w - hm, y: +h_1_5 + vm_1_5))
bmb3.customButtonPlacePositions.append(CGPoint.init(x: 0, y: +h_1_5 + vm_1_5))
bmb3.customButtonPlacePositions.append(CGPoint.init(x: +w + hm, y: +h_1_5 + vm_1_5))
}
func initializeBmb4() {
bmb4.buttonEnum = .textInsideCircle
bmb4.piecePlaceEnum = .custom
bmb4.buttonPlaceEnum = .custom
for _ in 0..<3 {
bmb4.addBuilder(BuilderManager.textInsideCircleButtonBuilder())
}
bmb4.customPiecePlacePositions.append(CGPoint.init(x: +6, y: -6))
bmb4.customPiecePlacePositions.append(CGPoint.init(x: 0, y: 0))
bmb4.customPiecePlacePositions.append(CGPoint.init(x: -6, y: +6))
bmb4.customButtonPlacePositions.append(CGPoint.init(x: -60, y: -60))
bmb4.customButtonPlacePositions.append(CGPoint.init(x: 0, y: 0))
bmb4.customButtonPlacePositions.append(CGPoint.init(x: +60, y: +60))
}
}