※調査記事の為、誤りが含まれている可能性があります。
はじめに
様々なアプリでUILabelが使われていますが、UILabelにおいて指定の領域を超えた文字数を保有する場合、領域外の文字は三点リーダー以降切り捨てられます。(見た目上は)
そこで、UILabelの三点リーダーの位置のバラつきが気になったので試してみました。
試した内容
下記で試した文字列の長さに対して、UILabelのwidthは短い長さに設定しました。
| 文字列 | 三点リーダーより前の文字列の文字数 | 三点リーダー |
|---|---|---|
| aaaaaaaaaaaaaaaaaa | 2 |
(下) |
| aaaaaaaaaaaaaaaaaaあ | 2 |
(下) |
| あaaaaaaaaaaaaaaa | 2 |
(下) |
| aaaaaaaaaaaaaaaaあaaaaaaaa | 2 |
(下) |
| あaああああああああああ | 1 |
(下) |
| あああああああああ | 1 |
(中) |
| ああaa | 1 |
(中) |
仮説
文字列の末尾がマルチバイト文字か否かで三点リーダーの位置が変わると考えていました。
しかし、上記の結果を見る限りでは「三点リーダーで切り捨てられる最初の文字」がマルチバイト文字か否かで三点リーダーの位置が変わります。
- シングルバイト文字(アルファベットや数字など):下
- マルチバイト文字(ひらがなや漢字など):中
最後に
色々なアプリを覗いてみると、三点リーダーの位置がバラバラなことが分かるので見てみると良いかも知れません。

