滑动时更改文字

时间:2013-02-23 05:49:36

标签: ios

我正在创建一个文本笑话应用程序,我需要的是我想要滑动形式的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;

1 个答案:

答案 0 :(得分:0)

在viewDidLoad时无需加载子视图。

您应该使用scrollView委托方法来延迟它。

您最多只能创建3个textviews。当前,上一个和下一个。

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