Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > CoreTextでTextViewの一文字の向きを変える

CoreTextでTextViewの一文字の向きを変える(解決前)

TextViewの文字を縦書きにしたいなぁと考えている時にCoreTextとNSMutableAttributedStringの二つのどちらかなら実装できそう。CoreTextを利用してトライして無理ならAttributedStringをトライしてみます。

サンプル画像

参考:is it possible to rotate the character using NSAttributedString
参考:How to manipulate individual character of UITextView in ios?
参考:CoreTextを調べてみた
参考:Core Text
参考:Change font of individual words in UITextView in Interface Builder
参考:NSAffineTransformのメモ

やってみた

やれませんでした、、、、


- (void)drawRect:(NSRect)rect
{
    NSAttributedString * myString = [[NSAttributedString alloc] initWithPath:mypath documentAttributes:NULL];
    NSAffineTransform* xform = [NSAffineTransform transform];
    [myString drawAtPoint:NSMakePoint(10,10)];
    [xform rotateByDegrees:-90.0];
    [xform concat];
    [myString drawAtPoint:NSMakePoint(-150,0)];
    [xform invert];
    [xform concat];
    [myString drawAtPoint:NSMakePoint(15,15)];
    [myString release];
}

UITextViewを継承したdrawRectの上のコードをSwiftに書き換えたかったのですがNSAffineTransformの宣言でエラー。 あれ、、、use of undefined type 'NSAffineTransform'。DocumentもあるのでSwiftだけできないわけではないはずなので、 調査。。。


import UIKit
import Foundation

public class myTextView: UITextView {
    
    required public init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
    
    override init(frame: CGRect, textContainer: NSTextContainer?) {
        super.init(frame: frame, textContainer: textContainer);
    }
    
    public override func drawRect(rect: CGRect) {
        var transform :NSAffineTransform;
    }
}

サンプル画像

参考:Maxxxro/Maxxxro/DemoView.swift
参考:Foundation Framework Reference NSAffineTransform Class Reference

URL先をみていると、import foundationすれば使える感じなんだけど、、、

まとめ

現状できていないので、継続して進めてまいります!

次の記事はこちらです!(まだ正しい解決ではないですが、、、)

↓こんな記事もありますよ!

Backslashを忘れない

ショートカットキーで(\)を入力するには「optionキーを押しながら、¥キーを押す」で可能なのですが、 なにかと、あれ、、、なんだったっけ?と忘れる事が多かったので、バックスラッシュ拡大表示。

Pre特殊文字難民

記事を書いている時によくつまずくことがあります。preでコードを表示する際に、 カッコを使うと文章が消えてしまったり、ドルマークの変数が表示できなかったり。その度に検索して探しているのでサイトの中に入れてしまいます。 以前のバックスラッシュもそうですが、こういった特殊文字難民対策のページにしておきます。

UITextViewやらで縦書きができないか検証

「文字の縦書き」をやってみたいのですが、どうもUITextView等には設定が無いとのことです。 調べていると、本当にない?のかな。少し調査して作れそうなもんであればつくってみれたら、、、との気持ちで進めてみます。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!