|
|
@@ -150,40 +150,6 @@
|
|
|
}];
|
|
|
}
|
|
|
|
|
|
-#pragma mark - UIScrollViewDelegate
|
|
|
-
|
|
|
-- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
|
|
|
-// if (!self.segmentView.isScrolling) {
|
|
|
-// CGFloat offsetY = scrollView.contentOffset.y;
|
|
|
-// CGFloat baseInfoOffsetY = self.baseInfoView.frame.origin.y + self.baseInfoView.frame.size.height;
|
|
|
-// CGFloat requireInfoOffsetY = self.requireInfoView.frame.origin.y + self.requireInfoView.frame.size.height;
|
|
|
-// CGFloat otherInfoOffsetY = self.otherInfoView.frame.origin.y + self.otherInfoView.frame.size.height;
|
|
|
-// CGFloat companyInfoOffsetY = self.companyInfoView.frame.origin.y + self.companyInfoView.frame.size.height;
|
|
|
-//
|
|
|
-// if (offsetY < baseInfoOffsetY) {
|
|
|
-// [self.segmentView sendActionAtIndex:0];
|
|
|
-// } else if (offsetY > baseInfoOffsetY && offsetY < requireInfoOffsetY) {
|
|
|
-// [self.segmentView sendActionAtIndex:1];
|
|
|
-// } else if (offsetY > requireInfoOffsetY && offsetY < otherInfoOffsetY) {
|
|
|
-// [self.segmentView sendActionAtIndex:2];
|
|
|
-// } else if (offsetY > otherInfoOffsetY && offsetY < companyInfoOffsetY) {
|
|
|
-// [self.segmentView sendActionAtIndex:3];
|
|
|
-// } else {
|
|
|
-// [self.segmentView sendActionAtIndex:3];
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// self.segmentView.scrolling = NO;
|
|
|
-// }
|
|
|
-
|
|
|
- //[self.segmentView sendActionAtIndex:4];
|
|
|
-
|
|
|
-// NSLog(@"offset = %@", NSStringFromCGPoint(scrollView.contentOffset));
|
|
|
-// NSLog(@"self.baseInfoView.frame = %@", NSStringFromCGRect(self.baseInfoView.frame));
|
|
|
-// NSLog(@"self.requireInfoView.frame = %@", NSStringFromCGRect(self.requireInfoView.frame));
|
|
|
-// NSLog(@"self.otherInfoView.frame = %@", NSStringFromCGRect(self.otherInfoView.frame));
|
|
|
-// NSLog(@"self.companyInfoView.frame = %@", NSStringFromCGRect(self.companyInfoView.frame));
|
|
|
-}
|
|
|
-
|
|
|
#pragma mark - HJJobDetailForwardViewDelegate
|
|
|
|
|
|
- (void)jobDetailForwardViewClicked:(HJJobDetailForwardView *)forwardView {
|
|
|
@@ -199,6 +165,18 @@
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+#pragma mark - UIScrollViewDelegate
|
|
|
+
|
|
|
+- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate {
|
|
|
+ if (!decelerate) {
|
|
|
+ [self segmentSelectedWithContentOffset:scrollView.contentOffset];
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView {
|
|
|
+ [self segmentSelectedWithContentOffset:scrollView.contentOffset];
|
|
|
+}
|
|
|
+
|
|
|
#pragma mark - HJJobDetailSelectiveBarDelegate
|
|
|
|
|
|
- (void)jobDetailSelectiveBar:(HJJobDetailSelectiveBar *)selectiveBar didSelectAtIndex:(NSUInteger)index {
|
|
|
@@ -259,6 +237,26 @@
|
|
|
|
|
|
#pragma mark - private methods
|
|
|
|
|
|
+- (void)segmentSelectedWithContentOffset:(CGPoint)contentOffset {
|
|
|
+ CGFloat offsetY = contentOffset.y;
|
|
|
+ CGFloat baseInfoOffsetY = self.baseInfoView.frame.origin.y;
|
|
|
+ CGFloat requireInfoOffsetY = self.requireInfoView.frame.origin.y;
|
|
|
+ CGFloat otherInfoOffsetY = self.otherInfoView.frame.origin.y;
|
|
|
+ CGFloat companyInfoOffsetY = self.companyInfoView.frame.origin.y;
|
|
|
+
|
|
|
+ if (offsetY < baseInfoOffsetY) {
|
|
|
+ [self.segmentView selectedAtIndex:0];
|
|
|
+ } else if (offsetY > baseInfoOffsetY && offsetY < requireInfoOffsetY) {
|
|
|
+ [self.segmentView selectedAtIndex:1];
|
|
|
+ } else if (offsetY > requireInfoOffsetY && offsetY < otherInfoOffsetY) {
|
|
|
+ [self.segmentView selectedAtIndex:2];
|
|
|
+ } else if (offsetY > otherInfoOffsetY && offsetY < companyInfoOffsetY) {
|
|
|
+ [self.segmentView selectedAtIndex:3];
|
|
|
+ } else {
|
|
|
+ [self.segmentView selectedAtIndex:3];
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
#pragma mark - getters and setters
|
|
|
|
|
|
- (HJPositionDetailDataBox *)detailDataBox {
|
|
|
@@ -284,7 +282,7 @@
|
|
|
_detailView.scrollLayoutView.delegate = self;
|
|
|
_detailView.APIManager = self.detailAPIManager;
|
|
|
_detailView.dataBox = self.detailDataBox;
|
|
|
-// _detailView.scrollLayoutView.scrollView.delegate = self;
|
|
|
+ _detailView.scrollLayoutView.scrollView.delegate = self;
|
|
|
}
|
|
|
return _detailView;
|
|
|
}
|