UIDatePicker 和 UITextView

Posted

技术标签:

【中文标题】UIDatePicker 和 UITextView【英文标题】:UIDatePicker and UITextView 【发布时间】:2009-10-20 00:36:47 【问题描述】:

我想在 UITextView 中显示一个取决于日期的文本,比如“在今天的应用程序中”,我有这段代码在运行

-(void)changingText:(id)sender 

    NSDateFormatter *df = [[NSDateFormatter alloc] init];

    df.dateStyle = NSDateFormatterMediumStyle;

    label.text = [NSString stringWithFormat:@"%@", [df stringFromDate:datePicker.date]];
    NSDictionary *pageData = [[DataSource sharedDataSource] dataForPage:pageIndex];

    NSString *dateText = [pageData objectForKey:@"pageName"];

    NSString *dateInfo = [df stringFromDate:datePicker.date];

    if ([dateText isEqualToString: dateInfo]) 
        myText.text = [pageData objectForKey:@"pageText"];
    
    [df release];

我的问题是如何使用来自NSDictionery ForKey@"pageText" 的数据更新UITextView,因为它只显示第一个对象。

这是我想在选择日期时触发的对象。

- (id)init 
    self = [super init];
    if (self != nil)
    
        dataPages = [[NSArray alloc] initWithObjects:
                     [NSDictionary dictionaryWithObjectsAndKeys:
                      @"Oct 3, 2009", @"pageName",
                      @"First Object", @"pageText",
                      nil],

                     [NSDictionary dictionaryWithObjectsAndKeys:
                      @"Oct 10, 2009", @"pageName",
                      @"second Object", @"pageText",
                      nil],

                     [NSDictionary dictionaryWithObjectsAndKeys:
                      @"Oct 27, 2009", @"pageName",
                      @"Third Object", @"pageText",
                      nil],                      
                     nil];
    
    return self;

【问题讨论】:

Ibrahim,您能指出您使用的是哪种编程语言,并为其添加标签吗? 那么实际的问题是什么? DOK,我使用的编程语言是 Objective-C Vladimir,我的问题是如何使用来自 NSDictionery ForKey@"pageText" 的数据更新 UITextView ,因为它只显示第一个对象。谢谢 “第一个对象”是什么意思? 【参考方案1】:

我不确定我是否理解你的问题,但我认为你需要将字典中的对象变成这样的 NSString:

-(void)changingText:(id)sender
    NSDateFormatter *df = [[NSDateFormatter alloc] init];

    df.dateStyle = NSDateFormatterMediumStyle;

    NSDictionary *pageData = [[DataSource sharedDataSource] dataForPage:pageIndex];
    NSString *dateText = (NSString *)[pageData objectForKey:@"pageName"];
    NSString *dateInfo = [df stringFromDate:datePicker.date];

    label.text = [NSString stringWithFormat:@"%@", [df stringFromDate:dateInfo]];
    if ([dateText isEqualToString: dateInfo]) 
        myText.text = dateText;
    

    [df release];

【讨论】:

谢谢哥们,但是女士探针,它只是触发了第一个对象,我在上面的问题中添加了代码, 您希望文本字段中的字符串是什么? “第一个对象,第二个对象,第三个对象”? 另外,pageIndex 是在哪里设置的?

以上是关于UIDatePicker 和 UITextView的主要内容,如果未能解决你的问题,请参考以下文章

UIDatePicker、NSTimer 和格式化日期...?

UIDatePicker 泄漏

UIDatePicker,根据今天的日期设置最大和最小日期

UIDatePicker 15 分钟增量 Swift

使用 UIButton 实现 UIDatePicker 和 UIPickerView

UIDatePicker 的自定义