Commit 8e23981c cgx

完成滑块时间控件UI

1 个父辈 6e0e758e
......@@ -9,6 +9,7 @@
#import "JXMovableCellTableView.h"
#import "SleepReadyRequestModel.h"
#import "RelaxItemsView.h"
#import "ReadyItem.h"
@interface ReadyListController () <JXMovableCellTableViewDataSource, JXMovableCellTableViewDelegate>
@property (nonatomic, strong) RelaxItemsView *relaxItemsView;
......@@ -40,8 +41,6 @@
[self.view addSubview:self.relaxItemsView];
[self.view addSubview:self.prepareItemsView];
[self queryPreparePeaceListRequest];
}
- (void)queryPreparePeaceListRequest {
......@@ -52,7 +51,7 @@
self.relax_items = requestModel.relax_items;
self.prepare_items = requestModel.prepare_items;
[self.relaxItemsView adjustRelax:self.relax_items];
[self.relaxItemsView adjustRelax:self.relax_items relaxTime:requestModel.relax_time];
[self.prepareItemsView reloadData];
}
}];
......@@ -75,6 +74,7 @@
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
}
cell.backgroundColor = DSClearColor;
cell.textLabel.text = [NSString stringWithFormat:@"%ld", indexPath.row + 1];
return cell;
}
......@@ -96,6 +96,18 @@
[self.prepareItemsView reloadData];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
ReadyItem *item = self.prepare_items[indexPath.row];
#warning 模拟业务逻辑
if (indexPath.row == 0) {
// 移除
[self.relaxItemsView removeItem:1];
} else if (indexPath.row == 1) {
// 添加
[self.relaxItemsView addItem:item];
}
}
#pragma mark - lazy
- (RelaxItemsView *)relaxItemsView {
if (!_relaxItemsView) {
......
......@@ -9,9 +9,20 @@
NS_ASSUME_NONNULL_BEGIN
@class ReadyTimeMarker;
@protocol ReadyTimeMarkerDelegate <NSObject>
/// 首次触摸获获取触摸浮标
/// @param marker marker
- (void)touchesBeganWithMarker:(ReadyTimeMarker *)marker;
- (void)moveMarkerWithTranslationX:(CGFloat)translationX;
@end
/// 安睡准备时间调整控制器
@interface ReadyTimeMarker : UIView
@property (nonatomic, weak) id<ReadyTimeMarkerDelegate> delegate;
@end
NS_ASSUME_NONNULL_END
......@@ -7,7 +7,7 @@
#import "ReadyTimeMarker.h"
@interface ReadyTimeMarker () <UIGestureRecognizerDelegate>
@interface ReadyTimeMarker ()
@end
@implementation ReadyTimeMarker
......@@ -26,7 +26,7 @@
[self addSubview:dotView];
[markIV mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.equalTo(self);
make.centerX.bottom.equalTo(self);
make.width.height.equalTo(@30);
}];
[dotView mas_makeConstraints:^(MASConstraintMaker *make) {
......@@ -36,25 +36,24 @@
}];
// 添加拖动手势
UIPanGestureRecognizer *panGesture = [UIPanGestureRecognizer new];
panGesture.delegate = self;
UIPanGestureRecognizer *panGesture = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(panAction:)];
[self addGestureRecognizer:panGesture];
}
return self;
}
#pragma mark - UIGestureRecognizerDelegate
- (BOOL)gestureRecognizerShouldBegin:(UIPanGestureRecognizer *)gestureRecognizer {
CGPoint translation = [gestureRecognizer translationInView:gestureRecognizer.view];
CGPoint locationPoint = [gestureRecognizer locationInView:gestureRecognizer.view];
if (translation.x < 0) {
// 向左滑
NSLog(@"向左滑");
} else if (translation.x > 0) {
// 向右滑
NSLog(@"向右滑");
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
if (self.delegate && [self.delegate respondsToSelector:@selector(touchesBeganWithMarker:)]) {
[self.delegate touchesBeganWithMarker:self];
}
}
- (void)panAction:(UIPanGestureRecognizer *)panGR {
CGPoint translation = [panGR translationInView:panGR.view.superview];
[panGR setTranslation:CGPointZero inView:panGR.view.superview];
if (self.delegate && [self.delegate respondsToSelector:@selector(moveMarkerWithTranslationX:)]) {
[self.delegate moveMarkerWithTranslationX:translation.x];
}
return NO;
}
- (void)drawRect:(CGRect)rect {
......
......@@ -6,12 +6,24 @@
//
#import <UIKit/UIKit.h>
#import "ReadyItemCell.h"
NS_ASSUME_NONNULL_BEGIN
@interface RelaxItemsView : UIView
- (void)adjustRelax:(NSArray *)relax_items;
/// 重置任务
/// @param relax_items relax_items
/// @param relax_time 放松总时长
- (void)adjustRelax:(NSArray *)relax_items relaxTime:(int)relax_time;
/// 移除任务
/// @param item_id 任务id
- (void)removeItem:(int)item_id;
/// 添加任务项
/// @param item item
- (void)addItem:(ReadyItem *)item;
@end
......
......@@ -10,7 +10,7 @@
NS_ASSUME_NONNULL_BEGIN
@interface SleepReadyRequestModel : DSNetworkTool
@property (nonatomic, assign) int relax_time;
@property (nonatomic, strong) NSArray *relax_items;
@property (nonatomic, strong) NSArray *prepare_items;
......
......@@ -18,6 +18,7 @@
DSLog(@"安睡准备设置页面列表数据接口apiDic:%@", apiDic);
requestModel.resCode = DSResCodeSuccess;
NSDictionary *resultDic = apiDic[@"result"];
requestModel.relax_time = [resultDic[@"relax_time"] intValue];
NSArray *relax_items = resultDic[@"relax_items"];
NSArray *prepare_items = resultDic[@"prepare_items"];
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!