Showing
2 changed files
with
68 additions
and
11 deletions
... | @@ -10,7 +10,8 @@ import RESegmentedControl | ... | @@ -10,7 +10,8 @@ import RESegmentedControl |
10 | 10 | ||
11 | @objc public class LoyaltyAnalysisViewController: UIViewController { | 11 | @objc public class LoyaltyAnalysisViewController: UIViewController { |
12 | 12 | ||
13 | - @IBOutlet weak var tabView: RESegmentedControl! | 13 | + @IBOutlet weak var leftButton: UIButton! |
14 | + @IBOutlet weak var rightButton: UIButton! | ||
14 | @IBOutlet weak var contentView: UIView! | 15 | @IBOutlet weak var contentView: UIView! |
15 | var pageController: UIPageViewController! | 16 | var pageController: UIPageViewController! |
16 | 17 | ||
... | @@ -24,13 +25,13 @@ import RESegmentedControl | ... | @@ -24,13 +25,13 @@ import RESegmentedControl |
24 | setNavigationTitle("Ανάλυση") | 25 | setNavigationTitle("Ανάλυση") |
25 | 26 | ||
26 | // tab | 27 | // tab |
27 | - let titles = ["Εξαργυρωμένα", "Μοιρασμένα δώρα"] | 28 | + leftButton.setTitle("Εξαργυρωμένα", for:.normal) |
28 | - var segmentItems: [SegmentModel] { | 29 | + leftButton.backgroundColor = . clear |
29 | - return titles.map({ SegmentModel(title: $0) }) | 30 | + leftButton.setTitleColor(UIColor(rgb: 0x2EAFB9), for:.normal) |
30 | - } | ||
31 | 31 | ||
32 | - let preset = BootstapPreset(backgroundColor: .white, selectedBackgroundColor: .white) | 32 | + rightButton.setTitle("Μοιρασμένα δώρα", for:.normal) |
33 | - tabView.configure(segmentItems: segmentItems, preset: preset) | 33 | + rightButton.backgroundColor = . clear |
34 | + rightButton.setTitleColor(UIColor(rgb: 0x2EAFB9), for:.normal) | ||
34 | 35 | ||
35 | // pages | 36 | // pages |
36 | pageController = UIPageViewController(transitionStyle:.scroll, navigationOrientation:.horizontal) | 37 | pageController = UIPageViewController(transitionStyle:.scroll, navigationOrientation:.horizontal) |
... | @@ -63,6 +64,19 @@ import RESegmentedControl | ... | @@ -63,6 +64,19 @@ import RESegmentedControl |
63 | 64 | ||
64 | return analysisVC; | 65 | return analysisVC; |
65 | } | 66 | } |
67 | + | ||
68 | + // MARK: - Handlers | ||
69 | + @IBAction func handleLeft() { | ||
70 | + | ||
71 | + let analysisVC = self.viewControllerAt(0) | ||
72 | + pageController.setViewControllers([analysisVC!], direction:.reverse, animated:true) | ||
73 | + } | ||
74 | + | ||
75 | + @IBAction func handleRight() { | ||
76 | + | ||
77 | + let analysisVC = self.viewControllerAt(1) | ||
78 | + pageController.setViewControllers([analysisVC!], direction:.forward, animated:true) | ||
79 | + } | ||
66 | } | 80 | } |
67 | 81 | ||
68 | // MARK: - PageViewController | 82 | // MARK: - PageViewController |
... | @@ -108,7 +122,13 @@ extension LoyaltyAnalysisViewController: UIPageViewControllerDataSource, UIPageV | ... | @@ -108,7 +122,13 @@ extension LoyaltyAnalysisViewController: UIPageViewControllerDataSource, UIPageV |
108 | 122 | ||
109 | if let childVCs = pageViewController.viewControllers as? [AnalysisChildViewController] { | 123 | if let childVCs = pageViewController.viewControllers as? [AnalysisChildViewController] { |
110 | let currentIndex = childVCs[0].index | 124 | let currentIndex = childVCs[0].index |
111 | - tabView.selectedSegmentIndex = currentIndex | 125 | + if (currentIndex == 0) { |
126 | + leftButton.isSelected = true | ||
127 | + rightButton.isSelected = false | ||
128 | + } else { | ||
129 | + leftButton.isSelected = false | ||
130 | + rightButton.isSelected = true | ||
131 | + } | ||
112 | } | 132 | } |
113 | } | 133 | } |
114 | } | 134 | } | ... | ... |
... | @@ -404,11 +404,47 @@ | ... | @@ -404,11 +404,47 @@ |
404 | <rect key="frame" x="0.0" y="0.0" width="414" height="896"/> | 404 | <rect key="frame" x="0.0" y="0.0" width="414" height="896"/> |
405 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> | 405 | <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
406 | <subviews> | 406 | <subviews> |
407 | - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Z7V-En-7Tl" customClass="RESegmentedControl" customModule="RESegmentedControl"> | 407 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Z7V-En-7Tl"> |
408 | <rect key="frame" x="0.0" y="44" width="414" height="50"/> | 408 | <rect key="frame" x="0.0" y="44" width="414" height="50"/> |
409 | + <subviews> | ||
410 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="liP-dN-sf3"> | ||
411 | + <rect key="frame" x="0.0" y="0.0" width="206.5" height="50"/> | ||
412 | + <state key="normal" title="Button"/> | ||
413 | + <buttonConfiguration key="configuration" style="plain" title="Button"/> | ||
414 | + <connections> | ||
415 | + <action selector="handleLeft" destination="duB-b9-cnh" eventType="touchUpInside" id="eCq-GW-QAg"/> | ||
416 | + </connections> | ||
417 | + </button> | ||
418 | + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kAf-Oi-EnQ"> | ||
419 | + <rect key="frame" x="206.5" y="0.0" width="1" height="50"/> | ||
420 | + <color key="backgroundColor" systemColor="systemBackgroundColor"/> | ||
421 | + <constraints> | ||
422 | + <constraint firstAttribute="width" constant="1" id="CxW-qN-ftc"/> | ||
423 | + </constraints> | ||
424 | + </view> | ||
425 | + <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BNZ-3e-HXp"> | ||
426 | + <rect key="frame" x="207.5" y="0.0" width="206.5" height="50"/> | ||
427 | + <state key="normal" title="Button"/> | ||
428 | + <buttonConfiguration key="configuration" style="plain" title="Button"/> | ||
429 | + <connections> | ||
430 | + <action selector="handleRight" destination="duB-b9-cnh" eventType="touchUpInside" id="bo6-x4-8Ld"/> | ||
431 | + </connections> | ||
432 | + </button> | ||
433 | + </subviews> | ||
409 | <color key="backgroundColor" systemColor="systemBackgroundColor"/> | 434 | <color key="backgroundColor" systemColor="systemBackgroundColor"/> |
410 | <constraints> | 435 | <constraints> |
436 | + <constraint firstItem="kAf-Oi-EnQ" firstAttribute="leading" secondItem="liP-dN-sf3" secondAttribute="trailing" id="7Eg-e7-UZK"/> | ||
437 | + <constraint firstItem="liP-dN-sf3" firstAttribute="leading" secondItem="Z7V-En-7Tl" secondAttribute="leading" id="CRR-X1-VXy"/> | ||
438 | + <constraint firstAttribute="trailing" secondItem="BNZ-3e-HXp" secondAttribute="trailing" id="FUC-Xt-vrx"/> | ||
439 | + <constraint firstAttribute="bottom" secondItem="liP-dN-sf3" secondAttribute="bottom" id="HX4-Xg-GBR"/> | ||
440 | + <constraint firstItem="liP-dN-sf3" firstAttribute="top" secondItem="Z7V-En-7Tl" secondAttribute="top" id="O5V-e5-NPf"/> | ||
411 | <constraint firstAttribute="height" constant="50" id="W4o-5O-kfL"/> | 441 | <constraint firstAttribute="height" constant="50" id="W4o-5O-kfL"/> |
442 | + <constraint firstItem="BNZ-3e-HXp" firstAttribute="top" secondItem="Z7V-En-7Tl" secondAttribute="top" id="WtA-PL-BZy"/> | ||
443 | + <constraint firstItem="kAf-Oi-EnQ" firstAttribute="centerX" secondItem="Z7V-En-7Tl" secondAttribute="centerX" id="jG4-gb-zWB"/> | ||
444 | + <constraint firstAttribute="bottom" secondItem="BNZ-3e-HXp" secondAttribute="bottom" id="kzL-YN-Vkn"/> | ||
445 | + <constraint firstItem="BNZ-3e-HXp" firstAttribute="leading" secondItem="kAf-Oi-EnQ" secondAttribute="trailing" id="zPD-7c-CdH"/> | ||
446 | + <constraint firstItem="kAf-Oi-EnQ" firstAttribute="top" secondItem="Z7V-En-7Tl" secondAttribute="top" id="zq1-qp-f9S"/> | ||
447 | + <constraint firstAttribute="bottom" secondItem="kAf-Oi-EnQ" secondAttribute="bottom" id="zsL-bI-ChP"/> | ||
412 | </constraints> | 448 | </constraints> |
413 | </view> | 449 | </view> |
414 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FyK-3t-liP"> | 450 | <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FyK-3t-liP"> |
... | @@ -430,12 +466,13 @@ | ... | @@ -430,12 +466,13 @@ |
430 | </view> | 466 | </view> |
431 | <connections> | 467 | <connections> |
432 | <outlet property="contentView" destination="FyK-3t-liP" id="lBC-DU-jIb"/> | 468 | <outlet property="contentView" destination="FyK-3t-liP" id="lBC-DU-jIb"/> |
433 | - <outlet property="tabView" destination="Z7V-En-7Tl" id="V5w-xL-IBc"/> | 469 | + <outlet property="leftButton" destination="liP-dN-sf3" id="PSM-x1-lPV"/> |
470 | + <outlet property="rightButton" destination="BNZ-3e-HXp" id="NDe-B7-wIV"/> | ||
434 | </connections> | 471 | </connections> |
435 | </viewController> | 472 | </viewController> |
436 | <placeholder placeholderIdentifier="IBFirstResponder" id="jF4-GM-aCp" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/> | 473 | <placeholder placeholderIdentifier="IBFirstResponder" id="jF4-GM-aCp" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/> |
437 | </objects> | 474 | </objects> |
438 | - <point key="canvasLocation" x="3125" y="836"/> | 475 | + <point key="canvasLocation" x="3124.6376811594205" y="835.71428571428567"/> |
439 | </scene> | 476 | </scene> |
440 | <!--Sharing History View Controller--> | 477 | <!--Sharing History View Controller--> |
441 | <scene sceneID="Yng-iu-80u"> | 478 | <scene sceneID="Yng-iu-80u"> | ... | ... |
-
Please register or login to post a comment