2

iOS プログラミングの初心者として、この質問が愚かに聞こえる場合は申し訳ありません。UITextView でいくつかのテキストをマークするために、いくつかの四角形を描画します。唯一の問題は、四角形がテキストとともにスクロールしないことです。彼らはただそこにとどまります。コードは次のとおりです。

- (id)initWithFrame:(CGRect)frame
{
    self = [super initWithFrame:frame];
    if (self) {
        [self setContentMode:UIViewContentModeRedraw];
    }
    return self;
}

- (void)drawRect:(CGRect)rect {

    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextSetLineWidth(context, 1.0);
    CGContextSetStrokeColorWithColor(context, [UIColor redColor].CGColor);
    CGRect rectangle = CGRectMake(0,3.5*self.font.lineHeight,self.frame.size.width,self.font.lineHeight);
    CGContextAddRect(context, rectangle);
    CGContextStrokePath(context);
}

ご協力いただきありがとうございます。

グレッグに答えてくれてありがとう。少しテストを行ったところ、次のコードでうまくいきました。上記のコードは textView.m にありますが、次のコードは ViewController.m にあることに注意してください。

- (void)viewDidLoad
{
    //other inits....
    [textView setDelegate:self];
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
    [textView setNeedsDisplay];
}
4

1 に答える 1