Handling rich text in Swift iOSDC Japan 2016
![Handling rich text in Swift](https://cdn-ak-scissors.b.st-hatena.com/image/square/7624d2707b48ebb78261f504a0d7191fe653f6a0/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2Ff64bf3b878574158959d0688a1240067%2Fslide_0.jpg%3F6722603)
追記 簡単な方法がありました。 現象 UIButtonでヒラギノフォントを使用したとき 英字の g j などが画像のように切れてしまう問題があります。 これはヒラギノのサイズが正確に取得できておらず、viewのframeが小さく設定されていることが問題です。 UIButtonのtitleLabelは自動で sizeToFitされてしまうため、frameの変更を行っても適応されないようです。 解決 ちょっとしたハックですが以下のようにします。 let buttonText = "abcdefghijklmnopqrstuvwxyz" let attributes = [ NSBaselineOffsetAttributeName: NSNumber(float:1.0) // buttonの文字をベースラインからgの下が入るように上にずらす ] let attrText = NSAttrib
twitter.com The handling of rich text is not easy. We may consider a lot of things like fonts, characters, glyphs, emojis, images, ligatures, etc. In this talk, I will show you the basics of laying out text and how to handle complex text layouts in Apple's OS. iosdc.jp speakerdeck.com Handling rich text in Swift Objective-Cでも使える話です。iOSにおけるテキストレイアウトについて。 これは1分で作ったアプリです 違和感を感じるところが幾つもあると思います。デザイナーさん
タイトルからして出落ち感が少々ありますが・・・ iOSのフォントサイズ計算には長年修正されないバグというか仕様がございまして、「ヒラギノフォント(ヒラギノ角ゴシック、ヒラギノ明朝等)」が明示的に[UIFont fontWithName:size:]で指定されたとき、そのフォントを使ったUILabelやUITextViewなどの描画サイズの計算が正しくならない問題があります。iOS 6からiOS 9.1現在に至るまでずっとなので今後も直ることはないと思います。 詳細についてはこちらの記事が詳しいです。 http://qiita.com/yusuga/items/2be8c55ca561bba44702 一番下のリンク先の記事でも同様の問題が訴えられていまして、それぞれ対策が記載されていますので合わせてご参照ください。 でまぁ、対処法としてはいくつかあります。 UIControl.conten
最近フォント周りについて深く掘り下げる機会がありましたので、その際のメモを残しておこうと思います。かなり読む人置いてけぼりな中身になってますが、フォントを詳しく触り始めるとなるほどーとためになる(と思う)のでどうかご了承ください(´・_・`) UIFontのプロパティについて UIFontにはフォントに関する数値を表すプロパティが存在します。いろいろありますが、もっとも重要なのは以下に列挙するプロパティです。 pointSize lineHeight ascender descender leading capHeight 以下の画像を見ると非常にわかりやすいかと思います。 参照元: https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/Cus
UILabelで角丸が付いたものや、パディングしたいと思っても若干面倒そう。 ↓ UILabelを角丸にする&パディングを設定する方法 代わりにUIButtonが使えるよね。っていう話です。 var buttonAsLabel = UIButton(frame: CGRectMake(100, 100, 200, 50)) //テキスト入れる buttonAsLabel.setTitle("ラベルの代わりに", forState: .Normal) //角丸を指定できる buttonAsLabel.layer.cornerRadius = 15 //テキストのカラー buttonAsLabel.setTitleColor(UIColor.whiteColor(), forState: .Normal) //背景カラー buttonAsLabel.backgroundColor = UICo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く