2013-08-21 70 views
1

我一直在关注tutorial分页通过UIScrollview内的图像。UITextview在UIScrollview分页

分页与UIScrollview部分。

我现在想改变这个,而不是UIimageview,它显示UITextview。分页时使用不同的文字。

不知道如何实现textview而不是imageview。

有什么想法?

由于使用

代码:

- (void)loadPage:(NSInteger)page { 
    if (page < 0 || page >= self.pageImages.count) { 
     // If it's outside the range of what you have to display, then do nothing 
     return; 
    } 

    // 1 
    UIView *pageView = [self.pageViews objectAtIndex:page]; 
    if ((NSNull*)pageView == [NSNull null]) { 
     // 2 
     CGRect frame = self.scrollView.bounds; 
     frame.origin.x = frame.size.width * page; 
     frame.origin.y = 0.0f; 

     //UITextView *theTextView; 
     theTextView = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)]; 
     theTextView.scrollEnabled = NO; 
     theTextView.editable = NO; 

     theTextView.text = [NSString stringWithFormat:@"This is a very long text"]; 

      // 3 
     //UIImageView *newPageView = [[UIImageView alloc] initWithImage:[self.pageImages objectAtIndex:page]]; 
     theTextView.contentMode = UIViewContentModeScaleAspectFit; 
     theTextView.frame = frame; 
     [self.scrollView addSubview:theTextView]; 
     // 4 
     [self.pageViews replaceObjectAtIndex:page withObject:theTextView]; 
    } 
} 

回答

2

他们都是UIView子类。它应该以完全相同的方式工作。如果您不希望它们滚动并且UIScrollView应该滚动完全相同的方式,就好像它被填充为UIImageViews一样,只需在UITextViews上停用allowUserInteraction即可。

0

您将以与添加UIImageView完全相同的方式添加UITextView。初始化一个UITextView,设置你想要的任何属性,并将其作为子视图添加到UIScrollView。所以,在任何你要添加的UIImageViews,像这样的东西替换代码:

self.theTextView = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)]; 
self.theTextView.scrollEnabled = NO; 
self.theTextView.editable = NO; 
... //however else you want to modify your UITextView 

[self.theScrollView addSubview:self.theTextView]; 
+0

我刚试过,但我得到的显示是空的TextView和无分页发生 – user2512523