storyboard で UILabel を袋文字にする
袋文字を使いたい病になった。
UIStrokeLabelみたいな感じでクラス作っておく。
import Foundation import UIKit @IBDesignable class UIDecorationLabel: UILabel { @IBInspectable var strokeSize: CGFloat = 0 @IBInspectable var strokeColor: UIColor = UIColor.clearColor() override func drawTextInRect(rect: CGRect) { // stroke let cr = UIGraphicsGetCurrentContext() let textColor = self.textColor CGContextSetLineWidth(cr, self.strokeSize) CGContextSetLineJoin(cr, kCGLineJoinRound) CGContextSetTextDrawingMode(cr, kCGTextStroke) self.textColor = self.strokeColor super.drawTextInRect(rect) CGContextSetTextDrawingMode(cr, kCGTextFill) self.textColor = textColor super.drawTextInRect(rect) } }
あとはUILabelのクラスに上のやつ設定して、適当に値を突っ込んであげればOK
最近気になっているswiftのLibraryのメモ
最近swift書いててなんかいいライブラリないかなって調べてるとブラウザのタブがすごいことになるので、今開いている(良さそうと思ってる)やつをメモっておく。
Util
moment.js っぽく、時間まわりをアレコレできるやつ。 webのときはよく使ってたし、慣れた感じで書けて良さそう。
Layout
css-layout のswift実装でCSSでレイアウトできる。ステキ感ある。
AutoLayoutをシンプルに定義できるやつ。 SwiftAutoLayout ってやつもあるけど、そっちよりわかりやすそう。 Storyboardにどうしようもない恨みが溜まった時に利用したい(そうでなければできるだけStoryboardに集約させたいので見送り)。
Alert
- codestergit/SweetAlert-iOS · GitHub
- vikmeup/SCLAlertView-Swift · GitHub
- Sumi-Interactive/SIAlertView · GitHub
どれが良いか悩み中。 どれも見た目をカスタマイズできないので、 MJPopupViewController とかで作るか、自作してしまうのがはやそう。
Other
「このswiftライブラリが凄い!」みたいなまとめ集。まだ全部見切れてないけど参考になりそう。
BigQuery メモ
BigQuery使いたくてちょっと調べたけど、ちゃんと使うのはもうちょっと後になりそうなので。参考になりそうなページだけぺろぺろ貼っておく。
すごい安いし、なんでもそこそこ高速なところが良いところ。
mysqlから突っ込むなら App::BigQuery::Importer::MySQL を使うのが良さそう。 とりあえず Quickstart と bq Command-Line Tool を読んでおけば、大体分かる感じだ。
SlackでHubot Integrationを使わずにHubotを利用する
もしも、深淵な理由でIntegrationをユーザが追加できない場合にslackでhubotが使いたくなったら…。
というアレな状況だったので、hubot-slackのAdapterのmsg.as_user, msg.usernameを直接いじってゴリ押しした。 もしかしたらもっとスマートなやり方があるかもしれない。
自分が使いたかっただけなので、雑だけどやったこと。
- /src/slackをコピーして/src/slack_no_integrationを作成
- 自分の発言を無視しないようにした(hubot=自分になるので)
- 既読にしないようにした
- 名前を設定できるようにした
- 無視するチャンネルリストを取得できるようにした(hubotの参加チャンネル=自分の参加チャンネルになるので)
シェイクでのUndo, Redoをやめたい
WebView+SPAだと、フォーム投稿後もシェイクしたときのUndo, Redoが出てきてしまって面倒な感じだったので無効化するの巻。
applicationSupportsShakeToEdit に NO を突っ込んであげればよさそう。
一部のAndroid端末でWebFontの代わりに絵文字が表示されてしまう問題
スマホサイトでWebFontの私用領域つかっていたら、一部のAndroid端末でWebFontの代わりに絵文字が表示されて困った。
DECOLOG TECH BLOG: スマートフォンブラウザの絵文字事情
ココらへんをさけるようにマッピングすれば良さそう。
絵文字を〓にする
MySQLでutf8mb4にしてなくて絵文字(4バイト文字)をDBに格納できない(その文字以降が突っ込まれない)問題があって、とりあえずjavascriptでアレな文字を〓に変換するやつ。
string.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, '〓');