2019-01-01から1年間の記事一覧

Swift UIImageデータをbase64エンコードする

UIImageデータをbase64エンコードする エンコード let imageData = image.pngData()! as NSData // for jpg //let imageData = image.jpegData(compressionQuality: 0.8)! as NSData let base64String = imageData.base64EncodedString(options: .lineLength…

Swift segueを使わずにstoryboard上のViewControllerにアクセスする

segueを使わずにstoryboard上のViewControllerにアクセスする。 アクセス対象のViewControllerのIdentifierを定義した上で、storyboard?.instantiateViewController()を使用してインスタンスを取得できる。 override func viewDidAppear(_ animated: Bool) {…

Swift UIActivityViewControllerで簡単にSNSシェアを実装

よくあるこの画面。UIActivityViewControllerを使用すると簡単に実装できる。 シェア画面の起動 UIActivityViewControllerのactivityItemsに各SNSに渡したいオブジェクトをセットすればよい。String、UIImage、URLなどがある。尚、Facebookはテキストのセッ…

Swift UIImagePickerControllerでフォトアルバム、カメラアクセスを行う

info.plist 必要に応じて以下のパーミッションをinfo.plistに記述する。 Privacy - Photo Library Additions Usage Description フォトアルバムに画像を保存 Privacy - Photo Library Usage Description フォトアルバムにアクセス (不要っぽい?) Privacy - …

Swift 特定viewのスクリーンショットをとる

特定Viewのスクリーンショットを撮る。 UIGraphicsBeginImageContextWithOptionsにスクリーンショットを撮る座標と縦横幅を指定する。よって対象のViewのframeを指定すればよい。 UIGraphicsBeginImageContextWithOptions(view.frame.size, false, 0.0) view…

Vue.js issue管理に登録したissueをストレージに保存する

ブラウザを閉じたりリロードした後でも、登録、更新を行ったissueを再度表示できるようにする。 ストレージはローカル内で保存管理するものとし、サーバに送信したり取得したりといったことは行わない。 Vueでの処理 プロパティ issueList が追加、変更され…

Vue.js インスタンスプロパティの変更を監視する

こういったVueオブジェクトが定義されていた場合、arrayListに何らかの操作が行われた時に発火するメソッドを定義できる。 var app1 = new Vue({ el: '#app1', data: { arrayList: [] } }); watch メンバの定義 watchメンバの中に監視するプロパティとchange…

JavaScript ローカルストレージの保存と参照

ブラウザは接続先のドメインごとにWebストレージ領域を割り当てられる。ストレージにはkey,valueの形式で保存可能。 ブラウザが変わればストレージ領域も変わる。 (そういったコードを書かない限り)サーバに送信しない。サーバから操作できない。がCookieと…

Vue.js Vueオブジェクトのライフサイクル

Vueオブジェクトは以下のライフサイクルがあり、各ポイントに応じて処理を実行することができる。 beforeCreate : Vueインスタンスが作成される直前 created : インスタンスの作成が完了 beforeMount : element(el: "id")にマウントされる直前 mounted : ele…

Vue.js issue管理にチケット状態を追加する

イメージ 状態は["new", "assigned", "closed"]の三種類とした。 Vue実装 プルダウンはloop生成 var app1 = new Vue({ el: '#app1', data: { statusList: ["new", "assigned", "closed"], ...略 issueオブジェクトにチケット状態を持つプロパティを追加 meth…

Vue.js issue管理 削除機能を追加した

画面イメージ HTML v-showで表示される要素の中に削除ボタンを設置した。 削除ボタンのv-on:click.stopは.stopをつけることによってli要素のv-on:clickのメソッド呼び出しを抑制できる。これをつけないと親要素のv-on:clickも発火しておかしな挙動になる。 d…

Vue.js 親要素のイベントを抑制する

入れ子になった要素で、親、子ともにv-on:clickなんかのイベントを持っている時、子の要素をクリックすると親の要素のイベントの発火する。 例えばこんなの。親divで何らかのイベント定義あり、divに入ったボタンがあるケース。divがアコーディオンになって…

Swift LINEアプリにメッセージを送信する

line://msgというschemaにメッセージを追記してオプーンすればよい。特にSDK等を入れる必要もない。 テキストメッセージを送信する スキーマは/text 。その後ろに送信したい文字列を追記する。マルチバイトが入る場合、URLエンコードしておく。 let lineSche…

'UIImageJPEGRepresentation' has been replaced by instance method 'UIImage.jpegData(compressionQuality:)'

swift4.2?くらいからUIImageJPEGRepresentationメソッドはUIImage.jpegDataに差し替えないといけない。 'UIImageJPEGRepresentation' has been replaced by instance method 'UIImage.jpegData(compressionQuality:)' 差し替え例 //before UIImageJPEGRepres…

Swift LINEログイン連携

LINEの開発者登録 LINE連携するには開発者登録が必要。以下からLINEアカウントで簡単に登録できる。 LINE Developers ログインすると、まずはプロバイダーを登録してね。といわれるので、案内にしたがって登録する。 次に連携するアプリの登録を行う。登録し…

Swift xibのViewイベントをViewControllerに定義する

xibと対となるViewはレイアウトのみの定義で、イベント着火による振る舞いはViewControllerに書きたいことがある。 HogeView.xibとUIViewを継承したHogeView.swiftというファイルが定義されていたとすると、 HogeView.swift class HogeView: UIView { @IBOut…

Xcode Couldn’t communicate with a helper application.

XcodeからGit操作しようとしたら、 Couldn’t communicate with a helper application. Try your operation again. If that fails, quit and relaunch the application and try again. と表示されて、git initやcommitが出来ない場合がある。 Xcodeアップデー…

Vue.js 簡単なissue管理アプリを作成する

アプリイメージ 入力を行うと 下のエリアにissueが表示 issueタイトルを押下するとコメントが表示される。 複数のissueを登録できる。 削除とステータスの更新は今回では作成しない。 HTMLの記述 入力フォーム部分 今までの復習。各入力部品に対応する値をv-…

Vue.js v-modelとフォーム部品

v-modelの修飾子 v-onと同様、v-modelにも修飾子を記述できる。 .lazy : 入力の完了時にバインドする。 .number : 数値型に変換 .trim : 前後のスペースを取り除く .lazy 入力の完了時(Enterキーの押下やフォームからカーソルフォーカスが外れた時)にバイン…

夏がくると思い出す、打ち上げ花火、下から見るか?横から見るか? と俺

15歳の夏の夜だった。 当時、僕と仲良くしてくれていた異性の学友がいて、毎晩のように飽きもせず、その学友と長電話していた。 自宅の電話だと電話代金がかさみ叱られるので、父親が誰かから粗品で頂いたような放置してあったテレフォンカードを持ち出して…

Vue.js イベントハンドラ

v-on:click 基本形 入力された値をボタン押下でリスト表示する。 <div id="app1" class="frame"> <h1>イベントハンドラ</h1> <input type="text" name="textData" v-model="textData"><button name="send" v-on:click="addData">送信</button> <ul> <li v-for="item in listData">{{item}}</li> </ul> </div> var app1 = new Vue({ el: '#app1', data: { textD…

Vue.js v-forで配列・オブジェクト要素を走査する

v-forで配列要素の走査 配列要素を走査して出力する。 liの部分がmonthList数分、繰り返される。 <div id="app1" class="frame"> <ul> <li v-for="month in monthList">{{month}}月</li> </ul> </div> var app1 = new Vue({ el: '#app1', data: { monthList: [1,2,3,4,5,6,7,8,9,10,11,12] } }); foreach {k,v}ライクな使い方 (value, key)の順…

ニュースクリップ 反トラストが進む米国と最低賃金引き上げの話し

最低賃金3%超引き上げへ 全国平均900円超す www.nikkei.com 題名の通り、最低賃金を引き上げましょう。という話し。 安易に引き上げて大丈夫?韓国は失業率上がったらしくて悪手だったんでは?という不安もあると思うけど、そのロジックは以下の記事で書かれ…

Vue.js v-ifとv-showで表示制御を行う

v-if で要素の出力制御を行う v-ifの値がtrueの時に、要素の表示を行う。 <div id="app1" class="frame"> <h2 v-if="show">v-ifのサンプル</h2> <button v-on:click="show = !show">タイトルを{{buttonLabel}}</button> </div>

Vue.js computedプロパティ

計算マクロはcomputedプロパティとして定義することができる。 <div id="app1" class="frame"> <h2>立方体の体積:1辺の長さ{{ side }}の体積は、{{ side**3 }} </h2> <h2>computedで計算:1辺の長さ{{ side }}の体積は、{{ volume }} </h2> </div> var app1 = new Vue({ el: '#app1', data: { side: 5 }, computed: …

ニュースクリップ フェイスブックは送金インフラを目指し、日産の業績がひええ...な件

フェイスブック、再建5カ年計画 最大の壁は「国家」 www.nikkei.com 題名の通り、フェイスブックの目指す道は落ちた信頼が障壁になる。という話し。 ええと、記事を読む限りフェイスブックは中国で発達している「送金インフラ」の世界版を成し遂げたいみたい…

Google Playチームから虚偽の振る舞いに関する回答が来た

質問をしてから半日ほどですごく丁寧な回答が来ました。 こういった実装をしていた で、どういった内容の違反だったかと言うと、僕のアプリの場合、ActionBarに敢えてテキストを非表示にする処理を施していたんだけど、ご存知の通り、ActionBarに表示するデ…

Vue.js インラインstyle、class要素のbind

v-bind:style style属性にbindする var app1 = new Vue({ el: '#app1', data: { titleFontColor: "red", h2Color:"blue" } }) HTMLにはオブジェクトを埋め込む。styleのキー要素は-(ハイフン)がキャメルケースとなる。 <h2 v-bind:style="{color:titleFontColor, backgroundColor:h2Color}">Title</h2> または、クォートすればstyleの…

ニュースクリップ メルカリ起業当初の苦労は人材多様化で乗り切り、ドコモはインバウンドを呼び込もうとするもイラン情勢はまだまだ不安定

イラン、ホルムズ海峡で英タンカー拿捕 英が緊急会合 www.nikkei.com イランが英国籍石油タンカーを拿捕した。という話し。 これはイランがますます国際社会から孤立しそうなんだけど... 日本政府はエネルギー危機もさることながら、憲法改正、自衛隊派遣に…

今度は別のアプリがまたGoogle Playから削除された

昨日のアプリ削除対応から束の間、またGoogle Playより別のアプリ削除のメールが届いた。 今度は虚偽の振る舞いに関するポリシーに違反していると判断されたため、Google Play での公開が停止され、削除されました。とのこと。 で、今回はアプリ停止という状…