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];
}