0

リッチテキスト編集を行うためにEGOTextViewを採用しています。ただし、lineHeightのは、同じフォントが設定されているEGOTextViewのよりも少し小さく表示されます。とをデフォルト属性にUITextView設定しようとしましたが、を変更する必要のある画像を挿入する必要があるため、これは適切な解決策ではありません。どんな助けでもありがたいです:)kCTParagraphStyleSpecifierMinimumLineHeightkCTParagraphStyleSpecifierMaximumLineHeightlineHeight

ここに画像の説明を入力してくださいここに画像の説明を入力してください

EGOTextView.m

- (void)viewDidLoad {
[super viewDidLoad];
UISegmentedControl *segment = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects:@"UITextView", @"EGOTextView", nil]];
segment.segmentedControlStyle = UISegmentedControlStyleBar;
[segment addTarget:self action:@selector(segmentChanged:) forControlEvents:UIControlEventValueChanged];
self.navigationItem.titleView = segment;
[segment release];

if (_textView==nil) {
    UITextView *textView = [[UITextView alloc] initWithFrame:self.view.bounds];
    textView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
    textView.font = [UIFont systemFontOfSize:14];
    [self.view addSubview:textView];
    self.textView = textView;
    [textView release];
}

if (_egoTextView==nil) {
    EGOTextView *view = [[EGOTextView alloc] initWithFrame:self.view.bounds];
    view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
    view.delegate = (id<EGOTextViewDelegate>)self;
    [self.view addSubview:view];
    self.egoTextView = view;
    self.egoTextView.delegate = self;
    [view release];  
    [self.egoTextView setFont:[UIFont systemFontOfSize:14]];
}
[segment setSelectedSegmentIndex:1];
}
4

1 に答える 1

1

kCTParagraphStyleSpecifierLineSpacingCTParagraphStyleSettingNSAttributedString、線を区切るポイントの数に設定できます。または、を使用して行の高さを倍数で指定し、行の高kCTParagraphStyleSpecifierLineHeightMultipleさを係数で増やすこともできます。

簡単な例を次に示します。

CGFloat lineSpacing = 0.f; // spacing, in points
CGFloat lineHeightMultiple = 0.f; // line height multiple

CTParagraphStyleSetting paragraphStyles[2] = {
    {.spec = kCTParagraphStyleSpecifierLineSpacing, .valueSize = sizeof(CGFloat), .value = (const void *)&lineSpacing},
    {.spec = kCTParagraphStyleSpecifierLineHeightMultiple, .valueSize = sizeof(CGFloat), .value = (const void *)&lineHeightMultiple}
};

CTParagraphStyleRef paragraphStyle = CTParagraphStyleCreate(paragraphStyles, 10);
[NSDictionary dictionaryWithObject:(__bridge id)paragraphStyle
                            forKey:(NSString *)kCTParagraphStyleAttributeName];
CFRelease(paragraphStyle);
于 2012-11-14T22:04:30.070 に答える