Showing
2 changed files
with
70 additions
and
13 deletions
| ... | @@ -9,8 +9,9 @@ import UIKit | ... | @@ -9,8 +9,9 @@ import UIKit |
| 9 | import RESegmentedControl | 9 | 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 | + rightButton.setTitle("Μοιρασμένα δώρα", for:.normal) |
| 32 | - let preset = BootstapPreset(backgroundColor: .white, selectedBackgroundColor: .white) | 33 | + rightButton.backgroundColor = . clear |
| 33 | - tabView.configure(segmentItems: segmentItems, preset: preset) | 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