2013-12-12 95 views
1

我正在嘗試查找在屏幕上顯示uiscrollview的時間。我有一個uibutton,點擊時會創建一個帶有很長文本的標籤並將其添加到滾動視圖中。然後將scrollview作爲子視圖添加到self.view。我需要知道滾動視圖顯示在屏幕上的時間。 請幫忙。提前致謝。代碼如下加載uiscrollview所花費的時間

- (IBAction)clickeMe:(id)sender { 
    self.start=[NSDate date]; 

    NSString *text="a very long text";  

    NSMutableAttributedString *attributedText = 
    [[NSMutableAttributedString alloc] initWithString:text]; 


    NSRange range1 = NSMakeRange(100, 300); 
    [attributedText setAttributes:@{NSForegroundColorAttributeName:[UIColor redColor]} 
          range:range1]; 


    UILabel *label1=[[UILabel alloc]initWithFrame:CGRectMake(10, 10, 700, 1000)]; 
    [label1 setAttributedText:attributedText]; 
    [label1 setNumberOfLines:0]; 
    [label1 sizeToFit]; 
    scrollviewtest *scrollview=[[scrollviewtest alloc]init]; 

    scrollview.frame=CGRectMake(10, 50, 700, 1000); 
    CGSize maxSize = CGSizeMake(label1.frame.size.width, CGFLOAT_MAX); 
    CGSize labelSize = [label1 sizeThatFits:maxSize]; 

    [scrollview addSubview:label1]; 
    scrollview.contentSize = CGSizeMake(700, labelSize.height); 
    [self.view addSubview:scrollview]; 
    [self performSelector:@selector(viewLoaded) withObject:nil]; 

} 

-(void)viewLoaded 
{ 
    NSLog(@"[viewloaded]"); 
    NSTimeInterval timeInterval = [self.start timeIntervalSinceNow]; 

    NSLog(@"time taken is %f",fabs(timeInterval)); 

} 

上述代碼的問題是viewLoaded實際上是在屏幕上出現滾動視圖之前調用。

+1

代碼請。 。 。 –

+0

試用一些代碼,然後我們可以幫助你更好。 – mAc

+0

你想知道創建長標籤所需的時間嗎? – jailani

回答

0

節省加載你的東西之前的時間,然後保存完成加載時的時間。 做一個減法,然後你有你的加載時間。

這就像php或其他語言。

+0

我試過這個,但選擇器被調用之前,視圖出現在屏幕上 –

+3

使用「PerformSelectorOnMainThread」,而不是「PerformSelector」 –

+0

雅試過,但不工作 –