0

NSString 全体が描画される四角形を考慮して、NSString の特定の部分文字列が UILabel (または、より簡単な場合は UITextView) でレンダリングされたボックスを取得したい、改行モード、フォント、など OSXでは追加で、そのrectを返すメソッドがあります

- (NSRect)boundingRectWithSize:(NSSize)size options:(NSStringDrawingOptions)options attributes:(NSDictionary *)attributes

iOSには似たようなものがありますか?ドキュメントを確認しましたが、何も見つかりませんでした。似たようなものはありますか?

4

1 に答える 1

2

私は、これはあなたを助けるかもしれないと思います

// Create some text view for example
_tv = [[UITextView alloc] initWithFrame:CGRectMake(10.0, 10.0, 300.0f, 250.0f)];
_tv.text = @"dkjshfk shf kjhs fkj ewkjhf kwfwkj fhwk fwh fjkw hfjkhwe fkjwh";
_tv.font = [UIFont systemFontOfSize:24];
[self.view addSubview:_tv];

そしてこれはあなたが探しているものです

- (void)someAction:(id)sender
{
    // Here is a frame of selected text in text view
    CGRect frame = [_tv firstRectForRange:_tv.selectedTextRange];

    // Mark selected text with yellow
    UIView *v = [[[UIView alloc] initWithFrame:frame] autorelease];
    v.backgroundColor = [UIColor yellowColor];
    v.alpha = .8f;
    [_tv addSubview:v];
}
于 2013-01-23T12:24:31.740 に答える