2013-03-01 82 views
1

我有一些问题。我想在scrollview中显示静态和动态对象。我有IBOutlets,他们已连接。我想更改消息和标题,它们是在代码中手动创建的。所有其他对象都是静态的。我的代码是在这里:uiscrollview中的静态和动态对象

.h文件中:

@interface MessageContentViewController(){ 
    IBOutlet UIImageView *avatarImageView; 
    IBOutlet UIScrollView *scrollView; 
    IBOutlet UIImageView *msgBoardImg; 
    IBOutlet UIImageView *topBarImg; 
    IBOutlet UIButton  *backBtn; 
    NSMutableArray *allMessages; 
} 

@property int indexOfMsg; 

@end 

.m文件:

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"background.jpg"]]]; 

    [self.navigationController setNavigationBarHidden:YES animated:YES]; 
    [scrollView setContentSize:CGSizeMake(scrollView.frame.size.width * allMessages.count, 0)]; 
    [scrollView setPagingEnabled:YES]; 

    [scrollView scrollRectToVisible:CGRectMake(scrollView.frame.size.width * indexOfMsg, scrollView.frame.origin.y, scrollView.frame.size.width, scrollView.frame.size.height) animated:NO]; 
    for (int i = 0; i < allMessages.count; i++) { 

     UIView *tempSubView = [[UIView alloc] initWithFrame:CGRectMake(self.view.frame.size.width * i, self.view.frame.origin.y, self.view.frame.size.width, self.view.frame.size.height)]; 
     [tempSubView addSubview:topBarImg]; 
     [tempSubView addSubview:backBtn]; 
     [tempSubView addSubview:msgBoardImg]; 
     [tempSubView addSubview:avatarImageView]; 
     [scrollView addSubview:tempSubView]; 
    } 

    [scrollView setContentOffset: CGPointMake(scrollView.frame.size.width * indexOfMsg, 0)]; 

    CGRect currentViewFrame = CGRectMake(scrollView.frame.size.width * indexOfMsg, scrollView.frame.origin.y, scrollView.frame.size.width, scrollView.frame.size.height); 
    [scrollView scrollRectToVisible:currentViewFrame animated:NO]; 

} 

的.xib文件:

enter image description here

请帮助我。提前致谢。

回答

0

你应该实现滚动视图的委托方法scrollViewDidEndDecelerating:,您可以在其中检测滚动距离然后为不同的滚动视图不同的标题和消息。

+0

我很惊讶。 scrollview没有显示。 – 2013-03-01 05:25:46

+0

我用额外的视图控制器(.xib)解决了这个问题。 – 2013-03-01 10:30:47