投稿

2017年(平成29年)告示で2020年(平成?32年)4月1日から施行の小学校学習指導要領における学年別漢字配当表をユニコードスカラ順に並べたもの

小学校で習う漢字をユニコードスカラ値順に並べたいことってありますよね。現在は新課程に移行している段階(つじつまを合わせるために学年によっては新課程)なので新課程用のやつを作ってみました。 ○ ○ ○ ○ ○ ○...形式 ○,○,○,○,○,○...形式 "○","○","○","○","○","○"...形式 の3パターンで表記します。 ○ ○ ○ ○ ○ ○...形式 //一年 一 七 三 上 下 中 九 二 五 人 休 先 入 八 六 円 出 力 十 千 口 右 名 四 土 夕 大 天 女 子 字 学 小 山 川 左 年 手 文 日 早 月 木 本 村 林 校 森 正 気 水 火 犬 玉 王 生 田 男 町 白 百 目 石 空 立 竹 糸 耳 花 草 虫 見 貝 赤 足 車 金 雨 青 音 //二年 万 丸 交 京 今 会 体 何 作 元 兄 光 公 内 冬 刀 分 切 前 北 午 半 南 原 友 古 台 合 同 回 図 国 園 地 場 声 売 夏 外 多 夜 太 妹 姉 室 家 寺 少 岩 工 市 帰 広 店 弓 引 弟 弱 強 当 形 後 心 思 戸 才 教 数 新 方 明 星 春 昼 時 晴 曜 書 朝 来 東 楽 歌 止 歩 母 毎 毛 池 汽 活 海 点 父 牛 理 用 画 番 直 矢 知 社 秋 科 答 算 米 紙 細 組 絵 線 羽 考 聞 肉 自 船 色 茶 行 西 親 角 言 計 記 話 語 読 谷 買 走 近 通 週 道 遠 里 野 長 門 間 雪 雲 電 頭 顔 風 食 首 馬 高 魚 鳥 鳴 麦 黄 黒 //三年 丁 世 両 主 乗 予 事 仕 他 代 住 使 係 倍 全 具 写 列 助 勉 動 勝 化 区 医 去 反 取 受 号 向 君 味 命 和 品 員 商 問 坂 央 始 委 守 安 定 実 客 宮 宿 寒 対 局 屋 岸 島 州 帳 平 幸 度 庫 庭 式 役 待 急 息 悪 悲 想 意 感 所 打 投 拾 持 指 放 整 旅 族 昔 昭 暑 暗 曲 有 服 期 板 柱 根 植 業 様 横 橋 次 歯 死 氷 決 油 波 注 泳 洋 流 消 深 温 港 湖 湯 漢 炭 物 球 ...

キーボードの出入りに合わせる自前アニメーション処理は不要

UITextViewなどがファーストレスポンダになったときにキーボードが出てきて、それと同時に画面上のUIパーツもキーボードで隠れないように上に移動させることがよくあります。 キーボードの動きとUIパーツの動きのタイミングを合わせると見た目がシンプルになります。このUIパーツのアニメーションを自分で書くのではなく、OSに任せることが出来ます。 やり方 keyboardWillShowNotificationを受けたときに走らせるメソッドで、動かすUIパーツのframeやcenterの情報を書きます。あとは自動でアニメーションを行ってくれます。 シミュレーションで確認してみると、これが出来るのはiOS10からのようです。 自動でやってくれるのはUIパーツのframeの設定だけでなく、UITextViewの大きさを変更したときにカーソルが表示領域に入るようにスクロールオフセットの値を調整するのもやってくれるようです。 キーボードが出てくるときと同様にキーボードがしまわれるときは keyboardWillHideNotification を使います。 いたれりつくせりですね。 https://stackoverflow.com/questions/39292796/why-is-a-uiview-whose-frame-i-change-after-receiving-a-uikeyboardwillshownotific https://stackoverflow.com/questions/35914577/uikeyboardwillshownotification-animation https://stackoverflow.com/questions/39292796/why-is-a-uiview-whose-frame-i-change-after-receiving-a-uikeyboardwillshownotific https://medium.com/@shenghuawu/observe-ios-keyboard-notifications-a49323813656

UIViewを角丸にしようとしてもdraw(_ rect: CGRect)をオーバーライドしたら四角になる

Xcode 10.1 Swift 4.2 UIViewの角丸は class MyView: UIView { init() { super.init(frame: .zero) self.backgroundColor = UIColor.white self.layer.cornerRadius = 10.0 } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } } とすると出来る。 しかし次のように override func draw(_ rect: CGRect) を書いてしまうとダメになる。 class MyView: UIView { init() { super.init(frame: .zero) self.backgroundColor = UIColor.white self.layer.cornerRadius = 10.0 } required init?(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func draw(_ rect: CGRect) { super.draw(rect) } } この場合、self.clipsToBounds = trueをinit()などに書いてやると丸く収まる。 しかし、viewにシャドウを付ける場合はself.clipsToBounds = trueによってシャドウが消える。角丸にしてシャドウをつけるのはよくあるので困る。

MPMusicPlayerControllerのappendQueueDescriptor

MPMusicPlayerControllerのappendQueueDescriptorは仕様上はiOS10.3からだが、iOS10.3ではうまく機能しない。iOS11以降はOK.。 // Adds the contents of the queue descriptor to the end of the queue - (void)appendQueueDescriptor:(MPMusicPlayerQueueDescriptor *)descriptor MP_API(ios(10.3));

Validation出来ない症状

イメージ
Xcode 9にしてから何かと不便が多い。 今度はアプリをAppleに送る前のValidationが出来ない症状になった。Uploadも無理。 No accounts with iTunes Connect access have been found for アカウント名(チーム名?) iTunes Connect access is required for Apple Store distribution. No iTunes Connect access for the team. 少し古いプロジェクトは大丈夫だったのにちょっとソースを変更したらいきなりこの症状である。 対策(と言えるのか?) 大丈夫だったプロジェクトでvalidationを行うとうまくいった。 その後、問題のあるプロジェクトでvalidationを行うと今度はうまくいった。

Xcode 9でInstrumentsが実行できない不具合

イメージ
Xcode 9からの不具合なのかInstrumentsが実行できない状態になりました。 録画ボタンのような赤丸をクリックして開始しようとすると Permission to debug xxx.xxxx.xxx was denied. と表示されて開始しません。 以下の作業をしたら治りました。XcodeのPreferenceで - Preference -> Locations -> Command Line ToolsをXcode 8.3.3に切り替え - Instruments立ち上げ - エラーが出る - Preference -> Locations -> Command Line ToolsをXcode 9.0.1に切り替え 追記 別のプロジェクトで引き続き不具合が出るので治っていませんでした。

iOSで使えるフォント UIFontのfontName一覧 iOS11版

参考記事 Over&Out その後 UIFontのfontName一覧 これのiOS11版を行います。 今回はSwiftで書きました。 //Swift 4.0 let familyNames = UIFont.familyNames for aFamilyName in familyNames.sorted() { print(aFamilyName) for aFontName in UIFont.fontNames(forFamilyName: aFamilyName) { print("--", aFontName) } } ちなみに下はフォントの使用例です。 let myFont = UIFont(name: "AcademyEngravedLetPlain", size: 24) 結果 Academy Engraved LET -- AcademyEngravedLetPlain Al Nile -- AlNile -- AlNile-Bold American Typewriter -- AmericanTypewriter-CondensedBold -- AmericanTypewriter-Condensed -- AmericanTypewriter-CondensedLight -- AmericanTypewriter -- AmericanTypewriter-Bold -- AmericanTypewriter-Semibold -- AmericanTypewriter-Light Apple Color Emoji -- AppleColorEmoji Apple SD Gothic Neo -- AppleSDGothicNeo-Thin -- AppleSDGothicNeo-Light -- AppleSDGothicNeo-Regular -- AppleSDGothicNeo-Bold -- AppleSDGothicNeo-SemiBold -- AppleSDGothicNeo-UltraLight -- AppleSDGothicNeo-Medium Arial --...