3

私はUITextViewiPhoneアプリに持っています。でUITextView i have added UIImageView as subview。入力したテキストがfinal height the texts are scrolling to top. 代わりにUIImageView (with image) also scrolling top. 画像のスクロールを停止し、テキストをスクロールできるようにするにはどうすればよいですか? 参照用の私のコードは次のとおりです。

    messageTextView = [[UITextView alloc] initWithFrame:CGRectMake(35, 5, 210, 30)];
    messageTextView.delegate = self;
    messageTextView.backgroundColor = [UIColor clearColor];
    messageTextView.clipsToBounds = YES;  
    messageTextView.font = [UIFont fontWithName:@"Helvetica" size:14];
    messageTextView.autoresizingMask = UIViewAutoresizingFlexibleWidth;

    textViewImageView = [[UIImageView alloc]initWithFrame: CGRectMake(0, 0, 210, 30)];
    textViewImageView.image = [UIImage imageNamed: @"textbg.png"];
    textViewImageView.contentMode    = UIViewContentModeScaleToFill;
    textViewImageView.contentStretch = CGRectMake(0.5, 0.5, 0, 0);  
    [messageTextView addSubview: textViewImageView];

    [messageTextView sendSubviewToBack: textViewImageView];
    [messageTextView addSubview:textViewLabel];

誰でもこれを解決するのを手伝ってもらえますか? 前もって感謝します。あなたのお返事を待っている。

ここに画像の説明を入力

4

3 に答える 3

3

imageView を textView の後ろに配置することを検討しましたか? それとも、そのようなレイアウトを禁止する理由はありますか?

そんな感じ:

UITextView *messageTextView = [[UITextView alloc] initWithFrame:CGRectMake(35, 5, 210, 30)];
// ...
messageTextView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
[self.view addSubview:messageTextView];

UIImageView *textViewImageView = [[UIImageView alloc] initWithFrame:CGRectMake(35, 5, 210, 30)];
// ...
textViewImageView.autoresizingMask = UIViewAutoresizingFlexibleWidth;
[self.view addSubview:textViewImageView];

[self.view sendSubviewToBack:textViewImageView];
于 2012-09-26T00:31:30.477 に答える
2

多分これが役立つかもしれません。scrollview デリゲートを使用して、境界に達したときに画像の位置を変更します。

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    if (scrollView.contentOffset.y >= scrollView.contentSize.height - scrollView.frame.size.height) {

        CGRect imageFrame = textViewImageView.frame;
        imageFrame.origin.y = scrollView.contentOffset.y - (scrollView.contentSize.height - scrollView.frame.size.height);
        textViewImageView.frame = imageFrame;

    }       
}
于 2012-09-25T14:42:15.993 に答える
0

これはうまくいくはずです:

[yourTxtView setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"your image.png"]]];
于 2012-09-25T14:31:01.573 に答える