読者です 読者をやめる 読者になる 読者になる

また1からこつこつと

最高はひとつじゃないと信じてまたがんばります。

【Swift3】 presentで画面遷移したときに遷移先のViewにNavigationBarを表示させておく

let nextViewController:NextViewController() = NextViewController()
let navigationController = UINavigationController(rootViewController: nextViewController)
self.present(navigationController, animated: true, completion: nil)

rootViewControllerに指定して、navigationControllerをpresentしてあげるだけ。

【Swift3】UITableView separator のおはなし

UITableViewのcellとcellの間にある線がある。これをseparatorという。(そのまま)
こいつに関して幾つか知見を得たのでメモ。

画面の左端まで線を到達させる

separatorはデフォルトでは画面の左端まで到達せずに切れてる。
f:id:mjk0513:20170330233851p:plain:w300
これを左端までつける方法。

tableView.separatorInset = .zero

これでOK。
f:id:mjk0513:20170330233916p:plain:w300

色も変えることができる。

tableView.separatorColor = UIColor()

f:id:mjk0513:20170330234848p:plain:w300

ここまでカスタマイズできるのはすごい。

ただ、これだとindexPath == 0、つまり1番上のcellの上に線が入らない。
こういったことを実装したい場合は、cellにUIViewを追加するしかないっぽい。

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
 let cell = UITableViewCell(style: .default, reuseIdentifier: "MyCell")
 cell.textLabel?.text = items[indexPath.row]
 if indexPath.row == 0{
  let separatorView:UIView = UIView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: 1))
  separatorView.backgroundColor = UIColor.red
  cell.addSubview(separatorView)
 }
 return cell
}

f:id:mjk0513:20170330235420p:plain:w300

これextensionつくってgithubで公開してる。
github.com

ただ、didSelectRowされたときに、deselectRowを指定してると描画が変な感じになっちゃう。
どうすればいいか考えてみます。

【Swift3】 UITableViewのHeaderをカスタマイズする方法

今開発中のアプリでUITableViewのHeaderをイジる必要があって、いろいろ調べたのでメモ。

func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
 //code
}

ではなくて、viewForHeaderInSectionを使ってUIViewをリターンしてあげる。

func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
 let headerView:UIView = UIView()
 headerView.backgroundColor = UIColor.white
 return headerView
}

あとはこのViewにいろいろと追加していけば好みのものがつくれる。

headerの高さは、tableViewのメソッドで指定する。

tableView.sectionHeaderHeight = CGFloat()

仕事でコード書くと知らないことを知れるのでおもしろい。
いろいろと勉強になる。

四畳半神話大系がnetflixにある

netflix四畳半神話大系が配信されてる。
www.netflix.com
昔一話だけみてそれ以来見てなかったけど、改めて見るととてもおもしろい。
はやく夜は短し歩けよ乙女の映画みたい。
京都に住みたい。

以上です。

SiriとRaspberryPiで電気をつけたり消したりする

RaspberryPi3を買ったのでなんかしたいなと思い、友人が前にやっていたRaspberry Piからの家電制御をやってみた。
こちらが完成品。
vimeo.com
Siri(HomeKit)を使って机の電気が着いたり消えたりしています。

方法

qiita.com
参考というかほとんどはここに書いてある通りです。
LEDの変わりに以下の部品とビニルコード、電源プラグ(オスーメス両方1つずつ)をはんだ付けして、ON/OFFを制御するようにしています。
akizukidenshi.com
www.monotaro.com


AppleTVが家にあるので、「家から離れた時」や、「日没後」などといったスケジュールにより制御することも可能です。
ベッドに入ってしまい起き上がるのがめんどくさいときにとても便利です。

素晴らしい。テクノロジー万歳!

上海研修備忘録その1:1日目

大学の研修旅行で上海に行ってきた。現地の小学校を見学したり、師範大学の学生と交流したりして、多くのことを学んできた。5日間行ってきたので、1日ずつ備忘録として書いていくことにする。

f:id:mjk0513:20170305185408j:plain
中国東方航空の飛行機で成田から上海浦東国際空港までフライト。MIT行ったぶりに機内食食べた。

上海領空に入ると既に視界が不明瞭。黄砂なのかPM2.5なのかわからないけど、初日は本当に空気が悪かった。
f:id:mjk0513:20170305190030j:plain
f:id:mjk0513:20170305190130j:plain
先が見えない、すごい。
f:id:mjk0513:20170305190232j:plain
f:id:mjk0513:20170305191845j:plain
f:id:mjk0513:20170305192004j:plain
よくわからないものが幾つか放置されてるのすごく好き。

その後ちょっと移動して上海の卒業生組織の方々とご飯。
同じ学校の縦のつながりは大事。いろいろ教えていただきありがとうございました!

f:id:mjk0513:20170305190357j:plain
かにチャーハン美味しかった。
f:id:mjk0513:20170305190702j:plain
AppleStoreもちゃんと行った。

f:id:mjk0513:20170305190817j:plain
100万ドルの夜景。
f:id:mjk0513:20170305190917j:plain
銀行が立ち並ぶこの地域はイギリス色が強い。
歴史感じる場所だった。

暗い中での写真を撮るのにiPhone7Plusはとても有能。キレイに撮れる。
初日はこれで終了。ホテルもいいところで素晴らしかった。
2日目から小学校見学がスタートする。
それはまた次回。

『大学の授業』を読んだ #mjkBookLog

この間読んだ本のログを残しておくの忘れていた。
www.amazon.co.jp
宇佐美寛著『大学の授業』
宇佐美先生はもともと千葉大学教育学部長をされていた方で、とても厳しい方として有名らしい。
父親から渡されて読んだ本だったが、終始面白くどちらかというと痛快であった。

この本は大学生に対してもっと本を読んで学べということをストレートに書いている。
本が書かれてから16年ほど経った現在は、大学の授業はよりひどい方向にいってるのではないかと思う。
みんな本読むべきだし、みんなもっと真面目に学ぶべき。
とくに教員目指してるような人は特にそうだろうし、なんのために大学に来ているのかをもう一度問いただすべきだ。

自分自身への示唆に富んだ素晴らしい本だった。