2019-01-01から1年間の記事一覧
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…
segueを使わずにstoryboard上のViewControllerにアクセスする。 アクセス対象のViewControllerのIdentifierを定義した上で、storyboard?.instantiateViewController()を使用してインスタンスを取得できる。 override func viewDidAppear(_ animated: Bool) {…
よくあるこの画面。UIActivityViewControllerを使用すると簡単に実装できる。 シェア画面の起動 UIActivityViewControllerのactivityItemsに各SNSに渡したいオブジェクトをセットすればよい。String、UIImage、URLなどがある。尚、Facebookはテキストのセッ…
info.plist 必要に応じて以下のパーミッションをinfo.plistに記述する。 Privacy - Photo Library Additions Usage Description フォトアルバムに画像を保存 Privacy - Photo Library Usage Description フォトアルバムにアクセス (不要っぽい?) Privacy - …
特定Viewのスクリーンショットを撮る。 UIGraphicsBeginImageContextWithOptionsにスクリーンショットを撮る座標と縦横幅を指定する。よって対象のViewのframeを指定すればよい。 UIGraphicsBeginImageContextWithOptions(view.frame.size, false, 0.0) view…
ブラウザを閉じたりリロードした後でも、登録、更新を行ったissueを再度表示できるようにする。 ストレージはローカル内で保存管理するものとし、サーバに送信したり取得したりといったことは行わない。 Vueでの処理 プロパティ issueList が追加、変更され…
こういったVueオブジェクトが定義されていた場合、arrayListに何らかの操作が行われた時に発火するメソッドを定義できる。 var app1 = new Vue({ el: '#app1', data: { arrayList: [] } }); watch メンバの定義 watchメンバの中に監視するプロパティとchange…
ブラウザは接続先のドメインごとにWebストレージ領域を割り当てられる。ストレージにはkey,valueの形式で保存可能。 ブラウザが変わればストレージ領域も変わる。 (そういったコードを書かない限り)サーバに送信しない。サーバから操作できない。がCookieと…
Vueオブジェクトは以下のライフサイクルがあり、各ポイントに応じて処理を実行することができる。 beforeCreate : Vueインスタンスが作成される直前 created : インスタンスの作成が完了 beforeMount : element(el: "id")にマウントされる直前 mounted : ele…
イメージ 状態は["new", "assigned", "closed"]の三種類とした。 Vue実装 プルダウンはloop生成 var app1 = new Vue({ el: '#app1', data: { statusList: ["new", "assigned", "closed"], ...略 issueオブジェクトにチケット状態を持つプロパティを追加 meth…
画面イメージ HTML v-showで表示される要素の中に削除ボタンを設置した。 削除ボタンのv-on:click.stopは.stopをつけることによってli要素のv-on:clickのメソッド呼び出しを抑制できる。これをつけないと親要素のv-on:clickも発火しておかしな挙動になる。 d…
入れ子になった要素で、親、子ともにv-on:clickなんかのイベントを持っている時、子の要素をクリックすると親の要素のイベントの発火する。 例えばこんなの。親divで何らかのイベント定義あり、divに入ったボタンがあるケース。divがアコーディオンになって…
line://msgというschemaにメッセージを追記してオプーンすればよい。特にSDK等を入れる必要もない。 テキストメッセージを送信する スキーマは/text 。その後ろに送信したい文字列を追記する。マルチバイトが入る場合、URLエンコードしておく。 let lineSche…
swift4.2?くらいからUIImageJPEGRepresentationメソッドはUIImage.jpegDataに差し替えないといけない。 'UIImageJPEGRepresentation' has been replaced by instance method 'UIImage.jpegData(compressionQuality:)' 差し替え例 //before UIImageJPEGRepres…
LINEの開発者登録 LINE連携するには開発者登録が必要。以下からLINEアカウントで簡単に登録できる。 LINE Developers ログインすると、まずはプロバイダーを登録してね。といわれるので、案内にしたがって登録する。 次に連携するアプリの登録を行う。登録し…
xibと対となるViewはレイアウトのみの定義で、イベント着火による振る舞いはViewControllerに書きたいことがある。 HogeView.xibとUIViewを継承したHogeView.swiftというファイルが定義されていたとすると、 HogeView.swift class HogeView: UIView { @IBOut…
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アップデー…
アプリイメージ 入力を行うと 下のエリアにissueが表示 issueタイトルを押下するとコメントが表示される。 複数のissueを登録できる。 削除とステータスの更新は今回では作成しない。 HTMLの記述 入力フォーム部分 今までの復習。各入力部品に対応する値をv-…
v-modelの修飾子 v-onと同様、v-modelにも修飾子を記述できる。 .lazy : 入力の完了時にバインドする。 .number : 数値型に変換 .trim : 前後のスペースを取り除く .lazy 入力の完了時(Enterキーの押下やフォームからカーソルフォーカスが外れた時)にバイン…
15歳の夏の夜だった。 当時、僕と仲良くしてくれていた異性の学友がいて、毎晩のように飽きもせず、その学友と長電話していた。 自宅の電話だと電話代金がかさみ叱られるので、父親が誰かから粗品で頂いたような放置してあったテレフォンカードを持ち出して…
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…
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 題名の通り、最低賃金を引き上げましょう。という話し。 安易に引き上げて大丈夫?韓国は失業率上がったらしくて悪手だったんでは?という不安もあると思うけど、そのロジックは以下の記事で書かれ…
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>
計算マクロは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 題名の通り、フェイスブックの目指す道は落ちた信頼が障壁になる。という話し。 ええと、記事を読む限りフェイスブックは中国で発達している「送金インフラ」の世界版を成し遂げたいみたい…
質問をしてから半日ほどですごく丁寧な回答が来ました。 こういった実装をしていた で、どういった内容の違反だったかと言うと、僕のアプリの場合、ActionBarに敢えてテキストを非表示にする処理を施していたんだけど、ご存知の通り、ActionBarに表示するデ…
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 での公開が停止され、削除されました。とのこと。 で、今回はアプリ停止という状…