agiapp / BRPickerView

BRPickerView 封装的是iOS中常用的选择器组件,主要包括:日期选择器(支持年月日、年月等15种日期样式选择,支持设置星期、至今等)、地址选择器(支持省市区、省市、省三种地区选择)、自定义字符串选择器(支持单列、多列、二级联动、三级联动选择)。支持自定义主题样式,适配深色模式,支持将选择器组件添加到指定容器视图。
https://github.com/agiapp/BRPickerView
MIT License
2.57k stars 446 forks source link

addPickerToView:样式错乱 #309

Closed taojeff closed 5 months ago

taojeff commented 5 months ago

`// 3.创建选择器容器视图 UIView *containerView = [[UIView alloc]initWithFrame:CGRectMake(30, 170, self.view.frame.size.width - 60, 200)]; containerView.backgroundColor = UIColor.redColor; containerView.autoresizingMask = UIViewAutoresizingFlexibleWidth; [self.view addSubview:containerView];

// 4.创建日期选择器
BRDatePickerView *datePickerView = [[BRDatePickerView alloc]init];
datePickerView.pickerMode = BRDatePickerModeDateAndTime;
datePickerView.maxDate = [NSDate date];
datePickerView.isAutoSelect = YES;
datePickerView.showUnitType = BRShowUnitTypeOnlyCenter;
datePickerView.resultBlock = ^(NSDate *selectDate, NSString *selectValue) {
    if (self.timeType == BRTimeTypeBeginTime) {
        self.beginSelectDate = selectDate;
        self.beginTimeTF.text = selectValue;
    } else if (self.timeType == BRTimeTypeEndTime) {
        self.endSelectDate = selectDate;
        self.endTimeTF.text = selectValue;
    }
};

// 自定义选择器主题样式
BRPickerStyle *customStyle = [[BRPickerStyle alloc]init];
customStyle.pickerColor = containerView.backgroundColor;
datePickerView.pickerStyle = customStyle;、

// 添加选择器到容器视图
[datePickerView addPickerToView:containerView];`
image

我将pickview放在view上后发现样式布局错了

agiapp commented 5 months ago

已修复,请更新到最新版本进行使用

taojeff commented 5 months ago

已修复,请更新到最新版本进行使用

多谢,博主,如果有时间的话是否可以更新一个新的样式“年月日周、时、分、秒”这样四列滚轮样式

agiapp commented 5 months ago

针对需要显示星期的场景,可以配合设置 datePickerView.showWeek = YES; 来达到类似的效果

代码

BRDatePickerView *datePickerView = [[BRDatePickerView alloc]init];
datePickerView.pickerMode = BRDatePickerModeYMDHMS;
datePickerView.showWeek = YES;
datePickerView.resultBlock = ^(NSDate *selectDate, NSString *selectValue) {

};
[datePickerView show];

效果

image

taojeff commented 5 months ago

我知道这样可以,可是我这边想要做的是第一个滚轮是年月日周,第二个滚轮是时,第三个是分,第四个是秒。

990073834 @.***

 

------------------ 原始邮件 ------------------ 发件人: "agiapp/BRPickerView" @.>; 发送时间: 2024年5月28日(星期二) 下午3:35 @.>; @.**@.>; 主题: Re: [agiapp/BRPickerView] addPickerToView:样式错乱 (Issue #309)

针对需要显示星期的场景,可以配合设置 datePickerView.showWeek = YES; 来达到类似的效果

代码 BRDatePickerView datePickerView = [[BRDatePickerView alloc]init]; datePickerView.pickerMode = BRDatePickerModeYMDHMS; datePickerView.showWeek = YES; datePickerView.resultBlock = ^(NSDate selectDate, NSString *selectValue) { }; [datePickerView show];
效果

image.png (view on web)

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

agiapp commented 5 months ago

有设计稿吗,一般很少有这种使用场景。特殊场景要么使用多个 BRDatePickerView 组件 进行组合使用,或者像这种特殊效果也可以使用 BRStringPickerView组件自定义数据源来实现。