1

問題があります。スクロールビューで静的オブジェクトと動的オブジェクトを表示したい。IBOutlets があり、接続されています。メッセージとタイトルを変更したいのですが、コードで手動で作成されています。他のすべてのオブジェクトは静的です。私のコードはここにあります:

.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 ファイル:

ここに画像の説明を入力

私を助けてください。前もって感謝します。

4

1 に答える 1

0

scrollviewのdelegateメソッドを実装する必要scrollViewDidEndDecelerating:があります。このメソッドでは、スクロール距離を検出してから、異なるスクロールビューに異なるタイトルとメッセージを設定できます。

于 2013-03-01T05:17:12.080 に答える