日々、徒然プログラミング。

都内のIT系専門学校に通う、一人暮らし女子学生chocoffeeの、 日々の気づきと学び、たまにほっこりを綴るブログ。

エンジニアのみなさま、エンジニアの卵のみなさま、IT業界のみなさまが
わたしの「チームってなんだ?」というぼやきに反応してくださることを祈って。



こんにちは!
週末のお出かけが楽しみなちょこひです。

家族の夏の旅行といえば、ざっくり分けて
山で避暑派と、海で暑さをエンジョイ派とあると思いますが、
我が家はがっつり避暑でした。暑がり家族。

長野県は安曇野にお蕎麦を食べに行きたい!と父に伝えたところ
週末連れて行ってくれるようで。今から楽しみです。
わさび菜の天ぷら本当に美味しいんですよ・・・


このテーマを選んだ理由


と、いうわけで
おいしいお蕎麦によだれを垂らしながら今回も書いていきます。

私のクラスは、今日Swiftの課題提出日でして。
今がっつり授業中ですが(先生ごめんなさい)一通り終わってるので余裕ぶっこいてます。

昨日の残業中、クラスメートに
TableViewの背景をこの画像にしたいんだけど・・・」と 相談されまして。

ちょこひ「それならTableViewのbackgroundに画像設定してrowItemのbackgroundをalphaにFFいれt 」

ちょこひ「・・・・・」

ちょこひ「Androidの話じゃんこれ。Swiftなら〜(storyboardみる)」

ちょこひ「(やべえbackgroundにimage設定できなさそう)」

友達「storyboardで imageView後ろに入れたいんだけど入れられなくてさ〜」

ちょこひ「じゃあソースコードで無理くりいれてみるか」


という背景があり。

無事設定できたので、またまた覚書として。 


やってみる

 
手順としては、
①ソースコードでimageViewを作成
②imageViewにimageを設定
③tableViewのbackgroundViewにimageViewを設定


・まずはシンプルなTableViewControllerをつくる

story

見栄えのためにまったく意味をなさないNavigationViewControllerをEmbed inしてます
実機はこんな感じ。


31



ひたすらに眠い文字列たちは
ソースコード内で用意した配列を使用しています。

 import UIKit

class TableViewController: UITableViewController {
    let array = ["眠い", "ほんと眠い", "とてつもなく眠い", "尋常じゃなく眠い", "寝ながら寝るくらい眠い"]

    override func viewDidLoad() {
        super.viewDidLoad()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return array.count } override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) cell.textLabel!.text = array[indexPath.row] return cell } }
cellのidentifier設定をお忘れなく(わたしは忘れてました)

cellIdentifier




・ソースコードでimageViewを生成 

今回背景に選んだフリー素材は

black

こちら。黒くてかっこいい!

みなさんプログラミングするときの背景色にこだわりはありますか?
TwitterClientのときも少し話しましたが、私は断然黒背景派です。
白かったり明るかったりすると目が痛くなってしまう。

この画像を「black.png」として
プロジェクトにぶっこんでます。

//	tableViewController.swift
override func viewDidLoad() { super.viewDidLoad() let image = UIImage(named: "black.png") let imageView = UIImageView(frame: CGRectMake(0, 0, self.tableView.frame.width, self.tableView.frame.height)) imageView.image = image self.tableView.backgroundView = imageView }

UIImageと用意した画像を紐付けて
tableViewのサイズのUIImabeViewをつくり
UIImageViewにUIImageをぶっこんで
それをtableViewの背景にぶっこんでいます。 

こうしてみると全然難しくない。
むしろ簡単。


この時点で実機は

00

こうなります。
アレ?


犯人はcell


tableViewの背景は無事に反映されています。
なぜ行があるところが白くなってしまうのか?

理由は簡単で、
cellにも背景があるからです。
そしてdefaultは白
背景画像の上に白いcellが乗っかってる感じです。

・cellのbackgroundを変更

clearColor

storyboardからcellのbackgroundをclearcolorに設定。


よっしゃこれででk・・・

14


なんもみえねえ。


・cellの文字色を変更
//	tableViewController.swift
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) cell.textLabel!.text = array[indexPath.row] cell.textLabel?.textColor = UIColor.whiteColor() return cell }

今回は白に設定。



できたー!.。゚+.(・∀・)゚+.゚

05


かっこよろしい!
スタイリッシュ!


まとめ

普段storyboardを使ってレイアウト等は決めているので、
ソースコードでViewを生成するのに少し手間取りました。

あれ?これでいいよな?あれ?ってなった。

tableViewの背景画像を入れている状態ってなかなかみないけど
これはこれでかっこいいですね!


ねむい。お蕎麦食べたい。




ちょこひ


 


こんにちは!
プログラミング楽しい!!!!と発狂しそうになったちょこひです。

最近頭打ちの感覚があって結構焦っていたんですが
さっきすんなり課題クリアできてしまって。
嬉しさのあまり叫びそうになりました。

先生が近くにいたので小声で自慢しに行きました(ご満悦)


 
画面を閉じる


さて、今回は画面を閉じるメソッド
navigationcontroller?.popViewControllerAnimated(Bool)」と
dismissViewControllerAnimated(Bool, completion)」の違いを
おぼえがきします。

どちらも「自分自身を閉じる(Viewを閉じる)」
という動きに変わりはないのですが、ちょっとだけ用途が違います。

これ忘れてるといつかハマりそうだったのでちゃんと勉強し直しました。 



結論から言うと
・navigationController?.popViewControllerAnimated(Bool)
 →navigationControllerの階層を一つ戻る
・dismissViewControllerAcnimated(Bool, completion)
 → モーダルビューを閉じる
こうなります。


以下でちょっと詳しい話をしていこうと思います。



NavigationContoller


iOSエンジニアならかなりの頻度で目にするであろうコイツ。
便利ですよね、本当。
TableViewControllerとの相性がほんとにいいと思っています。

NavigationControllerはViewとViewの階層構造を管理してくれるので
・画面遷移の管理が比較的楽になる
・Segueで「show」を選ぶと、そのViewはNavigationControllerの支配下に入る
・ツリー構造で奥へ奥へ入っていく時は無敵
こんな特徴があります。


blog0710_1


こんな感じ。
popViewControllerAnimatedは、Viewを閉じるというより
一つ前の階層に戻るといった感じ。


ModalViewController


対して、モーダルビューは
Segueを設定するときに「present Modaly」を選択します。
これを選択すると、NavigationControllerの支配下に入らず、
ツリー構造とは別に独立して存在するイメージ。

ツリー構造は詳細へ、さらに詳細へ・・・といった場面で使うことが多いですが
モーダルはオプションだったり、詳細ではない画面を設定するときに使用します。

blog0710_2


先ほどの図と組み合わせるとこんな感じ。
dismissViewControllerはpopViewControllerよりも
「自分自身を閉じる」という要素が大きいです。

NavigationController内でdismissViewControllerを書いても全く反応しません。
逆に、モーダルビューでpopViewControllerを書いても反応しません。

同じ動きに見えますが、実際は用途が違います。


まとめ


今回は画面を閉じるときのメソッドについて
ちょこっとまとめました。

実はこれ、さっき課題をやっているときに3分くらいハマりました。
画面を閉じるとき→dismiss、とすぐ出てくるタイプだったので
もう一つのpopViewと両者の違いをおさらいできてよかった。

他にも閉じるメソッドってあったかしら・・・?

何か見つけたらまた追記します。



さて!吉祥寺に予約してたゲーム用品を受け取りに行くぞ〜!


ちょこひ

 



こんばんは!
ご飯食べてお腹いっぱい、ご満悦なちょこひです。
来客時以外自炊は基本的にしないんですが、今日は珍しく納豆パスタ作りました。
残ってた大葉消費できたし!おいしかった!



肩の力を抜く

最近は技術であったり資格であったり
真面目系な記事が続いていたので

いや本来それが正解なんでしょうが・・・

今日はちょっと目線を変えてみようかと。

たまには肩の力抜いてもいいと思う。
というより私は肩の力抜いてボケーーーーーってしてる時間が
結構幸せに感じるタイプでして。

その幸福感を上げるには
やっぱり日々突っ走ることが必要だな〜と感じています。何事もメリハリ!

精神的にとっても弱く、それがすぐ身体に出るので、
体調ちょっとおかしくなるくらいに頑張ってから
何もしない日を作るとかなり満足します。健康にはよくないかもしれないけど知りません。

今日は肩の力抜く日!
雨降ってるしね!(関係ない)



形から入る

タイトル通り、「形から入ること」について今日は書いてみます。


「形から入る」って言葉、皆さんはどう感じますか?

状況によるかもしれませんが、

料理人目指して調理学校に入学したお祝いに高級包丁を贈る
美容師目指して美容学校に入学したお祝いにプロ仕様のハサミを買う

この文を読んで

入学したばかりでまだまだ素人なのに高級 / プロ仕様なんて
と思う人もいるでしょうし
これから頑張ってほしい、いいモチベになるだろうな
と思う人もいるでしょう。


あるいは自分が上記の文で入学した立場であれば

まだ素人だからいつか自分で必要になった時に買おう、そのために頑張ろう
と思う人もいれば
ついにスタートラインに立った、道具もある、これと一緒に頑張ろう
と思う人もいるでしょう。


わたしは後者です。
前者の考えもなくはないのですが、後者のパターンの方が自分には合っていて
うまくいくんだな、と思っています。

以下は経験談ですが

まだまだ難しい技術書を買ってみて、
わからない部分をその本で調べてみては自分の力不足を改めて認識して、
その悔しさがモチベとなって・・・

少し高いけど自分好みの食器を買って使ってみて
器と料理のレベルのちぐはぐさが悔しくて練習して・・・


私にとって、きっとモチベの根源は
悔しさ」なんだろうな。

蓄積した悔しさが多ければ多いほどやり遂げた時の達成感は大きい。
やり遂げるの定義が難しいところですが、
承認欲求が凄まじいので誰かに認められればやり遂げたことになる。と思う。

そしてその悔しさを与えてくれるものが身近にあったほうが
私の場合うまくいくのかな、とか。


自分を追い込んで何かに打ち込むのは得意・・・というか、
今までそうして色々なことを乗り越えてきているつもりなので、
(追い込みすぎて潰れたことは多々あれど)
自分を追い込むきっかけになる具体的な「もの」があったほうが
いいんだろうな、と思っています。

今のモチベは
・基本情報技術者試験の参考書
・詳解Swift
・FBで流れてくる技術関連の情報
そして
・新しく買った調理器具
・ちょっと綺麗になったキッチン
・疲れからくる偏頭痛
・ふくらはぎの筋肉痛(今日の3時間のショッピングで悲鳴あげてる、体力のなさ・・・)

ですかね。偏頭痛は結構辛いのでバファリン飲みます。


まとめ


後半真面目になりましたが、
最近考えていることはこんな感じです。

折れそうになった時、悔しさを自分に与えてさらに追い込んでジャンプする。
こう見ると相当ストイックですが、根が怠け者なのでこれくらいがちょうどいいのかも。

ひとまず、技術の勉強はスーパーハイパーウルトラスランプに入っている気がするので
なんとかしなきゃ。



ちょこひ

↑このページのトップヘ