在后台线程中分配UIDatePicker?

时间:2013-03-05 22:30:16

标签: uidatepicker

我试图在一个单独的线程中分配一个UIDatePicker(iPhone 4的性能提升),并且由于某种原因,下面的代码绘制了一个黑框(日期选择器应该去的地方),并且在大约20-之后显示日期选择器30秒。

@property (nonatomic, strong) dispatch_queue_t backgroundQueue;


    dispatch_async(self.backgroundQueue, ^{
        self.datePicker = [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 0, self.deviceRect.size.width, self.datePicker.frame.size.height)];
        [self.datePicker addTarget:self action:@selector(didSelectDate:) forControlEvents:UIControlEventValueChanged];

        dispatch_async(dispatch_get_main_queue(), ^{
            [self.view addSubview:self.datePicker];
    });

});

我知道线程代码有效,因为我添加了一个冗长的进程,并在完成后添加了一个UIView,并且所有内容都按预期显示。我想这样做的原因是因为在iPhone 4上UIDatePicker第一次显示时会滞后。你可以通过转到Apple日历应用程序并添加日期来看到这一点,在显示UIDatePicker之前会有明显的延迟。

0 个答案:

没有答案