Closed maxiaoqing closed 3 months ago
可以实现的,这种需求是不需要更改BRDatePickerMode(更改的话【年】列的数据会居中,不能与你上面的标识栏年对齐)。可以新增两个属性:isHiddenMonth、isHiddenDay。在方法 getMonthText
和 getDayText
中控制月日的显示,如果不显示就 return @""
,再 [self.pickerView reloadAllComponents];
刷新一下页面,最后再控制一下回调结果就行。
您好,如果年月日都保留显示的情况下,让月和日下面的数据不可滑动和不可选择。该怎么做呢?因为更改的话【年】列的数据会居中,不能与上面的标识栏年对齐,有些不好看。还有个问题,我这个页面是不是应该用这个方法处理- (void)addPickerToView:(UIView *)view;自定义的情况下,上面的取消和完成按钮是默认带出么,还是需要我自己去实现?谢谢
使用 addPickerToView:
这个方法,只是把滚轮选择器添加到自己的自定义视图上,不包含取消和完成按钮。基于你上面的需求,还有个最省事的方法,你可以创建一个UIView视图,把月和日所在列盖住,遮盖视图设置为白色即是隐藏列,设置为透明色即不能响应后面的滚动事件。你可以通过点击标记栏月和日旁边的按钮来更改遮盖视图的宽度。另外回调结果截取满足需求的结果值就行。
您好,感谢您提供的思路,我尝试用自定义视图去做这个功能,目前pickerview会把取消和OK那一行盖住,它下面有一段空白,应该是frame设置问题。该如何解决呢,可以方便给我举个例子么。谢谢
使用 - (void)addPickerToView:(UIView *)view;
方法,需要自己去自定义标题栏(包括取消和确定)
你修改过程有什么问题吗,如果有问题我也可以按您项目原需求单独封装一个组件
好的,那麻烦您帮我单独封装一个组件吧,我这边按照你说的没能实现出来。谢谢了。
好的,你把详细需求再说一下,还有几个细节: 1、默认显示状态是什么。如:默认是否显示【年月日】,【月】和【日】后面的 [不限] 按钮是否为蓝色 2、点击【月】后面的 [不限] 按钮:【月】和【日】后面的 [不限] 按钮 是否都变为灰色,且 清空 【月】和【日】下面数据的显示。 3、点击【日】后面的 [不限] 按钮:【日】后面的 [不限] 按钮 是否变为灰色,且 清空【日】下面数据的显示。
你确定一下,详细逻辑是不是这样的?
对,逻辑是这样的。谢谢您了。您给我提供的两个方案,您用哪种?
我用第一种方式封装吧,这种方式比较符合原需求,写好了我就发你
好的
写好了,我直接把代码提交到这个仓库了,就放在Demo里面,叫 BRMutableDatePickerView (可变的日期选择器)
好的,谢谢您
你可以去测试看有没有什么问题,有问题的话我明天再一起给你修改
OK
我已经提交上去了,你测试看看
明天再帮我改吧,都不好意思了。还有一种情况,不选择月的情况下,点击确定后是2019.再次打开选择器,应该只显示年才对,不应该显示年月日,并且月和日按钮的颜色应该是灰色。或者不选择日的情况下,点击确定是2019-5,再次打开选择器,应该只显示年和月,不应该有日的数据,并且日按钮的颜色应该是灰色。
这个是需要记录一下按钮的选择状态,下次打开的时候要把前一次的状态传进去即可。
BRMutableDatePickerView *datePickerView = [[BRMutableDatePickerView alloc]init];
datePickerView.selectDate = self.selectDate;
datePickerView.hiddenDateUnit = YES;
datePickerView.hiddenMonth = self.hiddenMonth;
datePickerView.hiddenDay = self.hiddenDay;
datePickerView.resultBlock = ^(NSDate *selectDate, NSString *selectValue, BOOL hiddenMonth, BOOL hiddenDay) {
NSLog(@"选择的时间:%@", selectValue);
self.titleLabel.text = selectValue;
self.selectDate = selectDate;
self.hiddenMonth = hiddenMonth;
self.hiddenDay = hiddenDay;
};
[datePickerView show];
都已经优化掉了,这个需求也是第一次做,我也是凭感觉做的,细节上可能有一些疏漏,你明天可以多测测,看看还有没有什么问题。
非常感谢,测试没有问题了。请教您一个问题,APP换肤功能如何实现比较好?有没有好的建议或者第三方推荐一个。
这种例子,GitHub上很多的,也可以参看一下:https://github.com/draveness/DKNightVersion
认真看完作者和用户的沟通记录,深感作者大佬是个好人和热心肠的人,赞赞赞👍
这是来自QQ邮箱的假期自动回复邮件。 您好,我最近正在休假中,无法亲自回复您的邮件。我将在假期结束后,尽快给您回复。
需求图片如下:图片地址: https://user-images.githubusercontent.com/23112654/70209277-cd815980-176a-11ea-81b5-f35549c7623e.png
在pickerview上面有个标识栏年月日,月和日旁边有个按钮,用来控制是否显示月和日一列的数据。在一个窗口上可以实时刷新窗口数据,比如我想显示年月日或者显示年月或者年。BRDatePickerMode这个属性如果在BRDatePickerView实例化后可不可以更改。