使用 UIPIckerView 自定义 DatePicker [英] Custom DatePicker using UIPIckerView

查看:22
本文介绍了使用 UIPIckerView 自定义 DatePicker的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是 ios 开发的新手.我正在使用 uipickerview 制作自定义日期选择器.我将datesArray用作uipickerview的数据源.

I am new to ios development. I am making a custom datepicker using uipickerview. I have datesArray to be used as a data source for uipickerview.

我想知道如何仅显示标签:今天、明天、星期五、星期六、星期日、星期一、星期二的当前周和休息日期,格式为EEE,LLL d".

I want to know how to show only Labels : today,tomorrow,Fri,Sat,Sun,Mon,Tues for current week and rest dates in format "EEE, LLL d".

我试过这段代码,但没有用.

I tried this code but it didn't work.

for(int i=0;i<22;i++)
{
    NSDate *myDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24 * i];
    NSDate *now=[NSDate date];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateStyle:NSDateFormatterMediumStyle];
    [dateFormatter setDateFormat:@"EEE, LLL d"];
    if(myDate==now)
    {
        NSString *myDateString=@"today";
         [datesArray addObject:myDateString];
    }
    else
    {
    NSString *myDateString = [dateFormatter stringFromDate:myDate];

    [datesArray addObject:myDateString];
    }

}

推荐答案

试试这个,希望能帮到你

Try this.Hope it helps

 NSString *dateFromWS = @"2013-10-16";//im taking it as static you have to take string coming from webservice

 for (int i = 0; i < 22; i++)
 {
    NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
    [dateFormatter1 setDateStyle:NSDateFormatterMediumStyle];
    [dateFormatter1 setDateFormat:@"yyyy-MM-dd"];
    NSDate *myDate = [NSDate dateWithTimeIntervalSinceNow:60 * 60 * 24 * i];
    NSDate *now = [dateFormatter1 dateFromString:dateFromWS];
    NSDate *tomorrow = [NSDate dateWithTimeInterval:60 * 60 * 24 * 1 sinceDate:now];
    //NSDate *dummy = [NSDate dateWithTimeInterval:60 * 60 * 24 * 1 sinceDate:now];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateStyle:NSDateFormatterMediumStyle];
    [dateFormatter setDateFormat:@"EEE, LLL d"];
    NSString *loopDate = [dateFormatter stringFromDate:myDate];
    NSString *today = [dateFormatter stringFromDate:now];
    NSString *tomorrowString = [dateFormatter stringFromDate:tomorrow];
    if ([loopDate isEqualToString:today]) {
        [datesArray addObject:@"today"];
    } else if ([loopDate isEqualToString:tomorrowString]) {
       [datesArray addObject:@"tomorrow"]; 
    } else if ((i/7) < 1) {
        [datesArray addObject:[loopDate substringToIndex:3]];
    } else {
        [datesArray addObject:loopDate];
    }
 }

这篇关于使用 UIPIckerView 自定义 DatePicker的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆