突然ですが皆さん、NSAttributedStringには2017/03/07付のiOS 10.3現在でも致命的にバグっている箇所があります。 症状:NSAttributedStringにNSParagraphStyleAttributeNameを利用してNSParagraphStyle経由でlineSpaceが付与されている。 NSAttributedStringに複数の「区間」が存在する。例えばNSAttributedString全体が単一のAttributeによって構成されているときはこの問題は発生しません。2つ以上の異なるAttributeの区間が必要です。 NSAttributedStringを描画するときに、横幅及び文字列の長さの都合で、1行で描画される。複数行になるときにはこの問題は発生しません。 NSAttributedStringにNSBackgroundColorAtt
About the content 2016年9月のtry! Swift NYCの講演です。映像はRealmによって撮影・録音され、主催者の許可を得て公開しています。 リッチテキストを扱うのはそんなに簡単なことではありません。フォントや文字、グリフ、絵文字、画像、リガチャなど、考慮しなければいけないことがたくさんあります。 この try! Swift の講演では、AppleのOSにおけるテキストレイアウトの基本や、複雑なテキストのレイアウトの扱い方をご紹介します。 イントロダクション (0:00) こんにちは岸川です。日本から来て、Realmで働いています。今回は、 TextKit についてお話します。 スライド3にお見せしているようなこと、みなさんも経験ありませんか?テキストがありますが、正しくセンタリングされていません。また、スライド6のように、行間がおかしくなることがあります。 この
様々な制約 今回は、Auto Layout で利用する様々な種類の制約について、Interface Builder の Canvas 上で確認していきたいと思います。 制約ボタンその1 まずは、Canvas 右下にあるボタン群の中の一番左側のボタンから見て行きましょう。このボタンをクリックすると、下図の様なメニューが表示されます。 これらは、コンポーネントのアライメントに関する制約を追加・編集するための機能です。上から順番に機能を確認していきましょう。 アライメント(端揃え) Leading Edges 複数のコンポーネントの Leading 側(日本語環境では左)端の水平位置を揃える制約を追加します。追加される制約はコンポーネント同士の間の Leading Alignment です。 Trailing Edges 複数のコンポーネントの Trailing 側(日本語環境では右)端の水平位
Format string summary @"attributeName == %@" object’s attributeName value is equal to value passed in @"%K == %@" pass a string variable to %K, it will be represented as a keypath, then check if it’s value is equal to value passed in @"%name IN $NAME_LIST" templated for predicate, checks if the value of key name is in $NAME_LIST. Uses predicateWithSubstitutionVariables @"'name' IN $NAME_LIST" chec
iOS/iPhone/iPad/MacOSX プログラミング, Objective-C, Cocoaなど 設定された値を元に NSPredicate を作成し、Core Data に対して検索をかけるのだが、こういう場合に NSCompoundPredicate が役に立つ。 NSCompoundPredicate Class Reference 各々の条件は必ずしも指定されるわけではないので検索条件の項目は可変となる。普通の NSPredicate を使う場合、条件の有無によって文字列の連結を使って条件を構成する必要がある。こんな感じ。 NSMutableString* fmt = [NSMutableString string]; NSMutableArray* array = [NSMutableArray array]; if (name) { [fmt appendString:
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く