2013-02-23 18 views
0

我正在创建一个文本笑话应用程序我需要的是我想要的UITextView刷卡形式就像当我滑动第一个笑话之后的差距另一个UITextview与另一个笑话进来,到目前为止我所做的是我已经手动创建了UITextView(如果有10个笑话,然后是10个uitextview),并将它们添加到滚动中,但这需要花费太多时间在viewdidload方法中,并且该应用需要6,7秒才能加载... 如果您有任何其他想法请让我知道在滑动上更改文本

for (int i = 0; i < arrresult.count; i++) { 




    CGRect frame; 
    frame.origin.x = self.scrollmain.frame.size.width * i; 
    frame.origin.y = 0; 
    frame.size = self.scrollmain.frame.size; 

    // UITextView *subview = [[UITextView alloc] initWithFrame:CGRectMake((frame.origin.x)+40,(frame.origin.y)+10, 230, 120)]; 
    // UITextView *subview2 = [[UITextView alloc]initWithFrame:CGRectMake((frame.origin.x)+40,(frame.origin.y)+160,230, 120)]; 

    UITextView *subview = [[UITextView alloc] initWithFrame:CGRectMake((frame.origin.x)+40,(frame.origin.y)+10, 230, 120)]; 
    UITextView *subview2 = [[UITextView alloc]initWithFrame:CGRectMake((frame.origin.x)+40,(frame.origin.y)+160,230, 120)]; 


    subview.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"BG_text.png"]]; 
    subview2.backgroundColor = [UIColor whiteColor]; 

    [subview setFont:[UIFont boldSystemFontOfSize:14]]; 
    [subview2 setFont:[UIFont boldSystemFontOfSize:14]]; 

    subview.layer.cornerRadius = 10 ; 
    subview2.layer.cornerRadius = 10; 

    NSString *p = [duaobj2 dua_arabic]; 
    NSString *b = [duaobj2 eng_trans]; 

    subview.text = p; 
    subview2.text = b; 

    [self.scrollmain addSubview:subview]; 
    [self.scrollmain addSubview:subview2]; 

    subview.editable = NO; 
    subview2.editable = NO; 

    subview.textColor = [UIColor blackColor]; 
    subview2.textColor = [UIColor blackColor]; 


    subview.backgroundColor = [UIColor whiteColor]; 
    subview2.backgroundColor = [UIColor whiteColor]; 


    scrollmain.showsHorizontalScrollIndicator = NO; 

    CGRect frame1 = subview.frame; 
    CGRect frame2 = subview2.frame; 

    frame1.size.height = subview.contentSize.height; 
    frame2.size.height = subview2.contentSize.height; 

    subview.frame = frame1; 
    subview2.frame = frame2; 





} 


self.scrollmain.contentSize = CGSizeMake(self.scrollmain.frame.size.width * arrresult.count,self.scrollmain.frame.size.height); 

scrollmain.pagingEnabled = TRUE; 

scrollmain.delegate = self; 

回答

0

没有必要加载子视图时的viewDidLoad。

你应该通过使用scrollView委托方法来延迟这个。

您最多只能创建3个文字视图。当前,上一个和下一个。

在scrollViewDidScroll委托方法上,你应该明智地删除以前加载的textview,你应该添加新的textview。

+0

非常感谢很多人...至少现在我有一个逻辑我会尽力实施 – 2013-02-23 06:20:00