我正在使用Xcode beta 7和iOS9模拟器.使用带有UIDatePickerModeTime的datePickerMode的UIDatePicker只显示小时数,而不是分钟数.
看截图:
在iOS 7和8上,显然它按预期工作,并显示小时和分钟.截图:
我真的不想重新发明轮子并滚动我自己的时间选择器.关于为什么会发生这种情况以及如何解决的任何想法?我在谷歌上找不到任何东西.
谢谢,亚历克斯
我使用Xcode 13和iOS 15编译了我的应用程序,我注意到它UIDatePicker
已经正确对齐。
您可以看到我的故事板已正确设置并带有约束:
这个 UI 元素工作正常,即使我在运行 iOS 15 的设备上下载应用程序的 App Store 版本,它也能正确呈现。只是用 Xcode 13 编译它才导致混乱。
还有其他人遇到这个问题吗?
我有一个支持自动旋转的自定义UINavigationController.我的一个视图上还有一个UIDatePicker,我将其扔到Navigation控制器的堆栈上.如果我以纵向方式启动日期选择器视图然后旋转它,则自动旋转有效.如果我尝试在横向开始加载日期选择器视图,则视图全部搞砸了.看起来如果它不支持旋转,框架只有大约一半的选择器可见并偏离中心.
我已经尝试制作我自己的日期选择器,支持自动旋转以防出现问题,我尝试创建两个不同的视图并交换它们,我尝试在ViewWillAppear方法上更改视图框架大小.到目前为止,他们似乎都没有为我工作.
任何人都有任何建议如何让日期选择器在导航控制器上正确显示?我可能忽略了一些简单的事情,答案就在我面前,但我找不到它.
我正在尝试本地化UIDatePicker.Apple的文档说它应该自动检测当前的语言环境,但无论我选择何种语言,语言都保持不变.我需要做什么?
我有一个jquery datepicker,numberOfMonths设置为3,目前当我点击datepicker时,左侧月份是当前月份.在大多数情况下,用户只会选择今天日期之前的日期,所以我更希望选择当前月份作为最后一个日历,即3月,4月,5月,而不是当前实施,即5月,6月,7月.
非常感谢任何帮助!
我在一个巨大的项目上使用jquery UI datepicker,我现在意识到我需要在某些区域只允许某些工作日.我读了他们的文档并没有找到任何关于它的东西..我知道jq有一些datepickers脚本可以做到这一点但我不想使用任何额外的脚本,如果可能的话.有人知道任何解决方法吗?也许我误解了他们的文档中的任何内容?
注意:所需行为的示例:http://codeasp.net/blogs/raghav_khunger/microsoft-net/1088/jquery-datepicker-disable-specific-weekdays
感谢提前帮助,干杯佩德罗
jquery jquery-ui datepicker uidatepicker jquery-ui-datepicker
我在模态视图中使用UIDatePicker来选择日期.我发现如果视图在日期选择器仍在滚动时关闭,我得到了一个EXC_BAD_ACCESS.
当用户选中按钮时,如何检测日期选择器正在滚动?
我有两个想法:
1)检测值是否已经改变:
[myDatePicker addTarget:self action:@selector(valueChanged:) forControlEvents:UIControlEventValueChanged];
Run Code Online (Sandbox Code Playgroud)
但我需要能够检测值是否会改变.
2)检查日期是否有效,但是当日期选择器滚动时,返回上一个日期,当然是有效的.
有任何想法吗?
是否可以从datepicker的onSelect事件中获取星期几.
我知道我可以得到这个月的那一天,但我想要一周的这一天.即使只是白天指数也会很好,例如0-6.
我知道你可以在beforeShowDay(或类似)事件中得到它,但我需要根据所选周的日期做出不同的反应.这与设置开放时间有关.
我可以点击服务器并找出答案,但这不会回复得足够快...理想情况下我希望在客户端上完成所有操作.
找不到解决方案,无法在iOS 13黑暗模式下更改所选日期的文本颜色。
我知道如何使用代码更改UIPicker视图的文本颜色
self.timePicker.setValue(UIColor.black, forKeyPath: "textColor")
Run Code Online (Sandbox Code Playgroud)
或使用用户定义的运行时属性。但是,无法为iOS 13深色模式更改所选日期颜色。使用背景白色和黑色文本颜色时,我的日期选择器视图如下所示:
因此,将文本颜色更改为黑色不会更改所选日期的文本颜色。它将所有其他文本颜色更改为黑色;但不是所选的。所选的保持白色,这是黑暗模式的默认设置。
使用 UIKit,UIDatePicker 允许设置模式为 UIDatePicker.Mode.countDownTimer,我们可以设置持续时间。
使用 SwiftUI,我看不到任何解决此问题的本机方法。唯一的方法是与 UIKit 交互?
[更新]
仅找到解决方案
DurationPickerView.swift
import SwiftUI
import UIKit
struct DurationPickerView: UIViewRepresentable {
@Binding var time: Time
func makeCoordinator() -> DurationPickerView.Coordinator {
Coordinator(self)
}
func makeUIView(context: Context) -> UIDatePicker {
let datePicker = UIDatePicker()
datePicker.datePickerMode = .countDownTimer
datePicker.addTarget(context.coordinator, action: #selector(Coordinator.onDateChanged), for: .valueChanged)
return datePicker
}
func updateUIView(_ datePicker: UIDatePicker, context: Context) {
let date = Calendar.current.date(bySettingHour: time.hour, minute: time.minute, second: time.second, of: datePicker.date)!
datePicker.setDate(date, animated: true)
}
class Coordinator: NSObject {
var durationPicker: DurationPickerView …
Run Code Online (Sandbox Code Playgroud) uidatepicker ×10
datepicker ×3
jquery ×3
iphone ×2
jquery-ui ×2
objective-c ×2
swift ×2
xcode ×2
ios ×1
ios-darkmode ×1
ios13 ×1
ios15 ×1
ios9 ×1
localization ×1
swiftui ×1
xcode13 ×1
xcode7 ×1