相关疑难解决方法(0)

设置minuteInterval时UIDatePicker奇怪的行为

以下代码显示了iOS 4.3下的奇怪行为(也许是其他版本).在此示例中,显示UIDatePicker其日期设置为的日期4 Aug 2011 2:31 PM.在UILabel下面UIDatePicker显示的时间以供参考.UIButtons下面的三个,标记为1,5,10,设置minuteIntervalUIDatePicker.

攻丝1 -在显示选择的日期UIDatePicker4 Aug 2011 2:31 PM,与微小间隔是1,这是可以预料的.

攻丝5 -在显示选定的日期UIDatePicker4 Aug 2011 2:35 PM,和分钟间隔为5,这是可以预料的(有人会说时间应该四舍五入,但是这不是一个巨大的问题).

攻丝10 -示出了在所选择的日期UIDatePicker4 Aug 2011 2:10 PM,与微小间隔10好微小间隔是正确的,但所选择的时间是2:10?人们可能会预期2:40(如果向上舍入)或2:30(如果向下舍入).

BugDatePickerVC.h

#import <UIKit/UIKit.h>

@interface BugDatePickerVC : UIViewController {
    NSDateFormatter *dateFormatter;
    NSDate *date;
    UIDatePicker *datePicker;
    UILabel *dateL;
    UIButton *oneB;
    UIButton *fiveB;
    UIButton *tenB;
}

- (void) buttonEventTouchDown:(id)sender;

@end
Run Code Online (Sandbox Code Playgroud)

BugDatePickerVC.m

导入"BugDatePickerVC.h"

@implementation …
Run Code Online (Sandbox Code Playgroud)

uidatepicker ios

5
推荐指数
2
解决办法
1万
查看次数

UIDatePicker设置为15分钟间隔,但用户不滚动的日期不是15分钟

我正在创建一个使用两个UIDatePickers的iOS应用程序.它们只显示小时和分钟(我的应用程序仍使用月,日和年).在main.storyboard中,我将UIDatePickers的日期值设置为当前日期.并且,我将他们的间隔设置为15分钟.

问题是,如果我不滚动UIDatePickers,我从它们获得的日期值不是15分钟的间隔.如果我滚动它们,我会间隔15分钟.

示例:实际时间是晚上8:47.UIDatePicker加载到晚上8:45.我从中得到的日期值没有滚动将是晚上8:47,而不是晚上8:45.如果我向上滚动到晚上8:30或晚上9:00,我会得到那些时间.

我想以15分钟的间隔来节省时间.有没有办法做到这一点,或者我是否必须写一个函数来舍入到最近的15分钟间隔?

date uidatepicker ios swift

1
推荐指数
1
解决办法
2642
查看次数

如果在 Swift 中为日期选择器设置了间隔,则从日期选择器获取当前时间

我正在使用时间间隔为 30 分钟的日期选择器。在 datePicker 中,它以 30 的间隔正确显示。当我从选择器中选择值时,我正在获取当前时间。我期望它应该是从选择器中选择的值而不是当前时间。我正在使用以下用 Swift 4 编写的代码。

func getTime(sender:UIDatePicker)
{
    let dateFormatter = DateFormatter()
    dateFormatter.timeStyle = DateFormatter.Style.short
    let endDate = (sender.date).addingTimeInterval(TimeInterval(30.0 * 60.0))
    let time = dateFormatter.string(from: endDate)
    print(“time”) //getting current time like 8:14 AM , expected should be 8:00 AM
}
Run Code Online (Sandbox Code Playgroud)

uidatepicker ios swift

1
推荐指数
1
解决办法
3941
查看次数

标签 统计

ios ×3

uidatepicker ×3

swift ×2

date ×1