【问题标题】:UIDatePicker and UITextViewUIDatePicker 和 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 ,因为它只显示第一个对象。谢谢
  • “第一个对象”是什么意思?

标签: ios objective-c cocoa-touch uitextview uidatepicker


【解决方案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 是在哪里设置的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-22
  • 2016-05-26
  • 2011-08-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多