本記事はベータ版について書かれています。 一般に流通しているiOS製品(iPad / iPhone / iPod touch)には該当しません。 また、将来下記の内容がiOSに反映されるとは限りません。 SSL/TLS認証でWKNavigationDelegateが呼ばれるように iOS9からWKWebViewでSSL/TLS接続をする時に WKNavigationDelegate の - webView:didReceiveAuthenticationChallenge:completionHandler:が呼ばれるようになるようです。 ここで、SSL/TLS接続([[[challenge protectionSpace] authenticationMethod] isEqualToString:NSURLAuthenticationMethodServerTrust])のケースを正し
func tableView(tableView: UITableView, willDisplayCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) { let slideInTransform = CATransform3DTranslate(CATransform3DIdentity, -510, 15, 0) cell.layer.transform = slideInTransform UIView.animateWithDuration(0.7) { () -> Void in cell.layer.transform = CATransform3DIdentity } } コードを全体的に見る まずは以下の手順でXcode Projectを作成 1. 「cmd + shift + 1」(W
固定電話の場合0{市外局番1~4桁}-{市内局番1~4桁}-{加入者番号4桁}となっており、合わせて10桁、市外局番(国内プレフィックス含む)と市内局番をあわせて6桁固定となっているようです。(画像は総務省に掲載のもの) 他にも「010」から始まる国際電話番号プレフィックスや、警察(110)、消防(119)、時報(117)などありますが、今回は実装対象外とします。 携帯電話、PHSなど0A0-CDE-FGHJKの番号は、初期契約時の事業者を特定できますが、不要なので対象外とします。 ちなみに書いている途中で「オープンデータ化されていないのかな?」と思って検索してみたらされてました。 電気通信番号指定状況 が、上記ページのファイルへのリンクがあるだけでした。定期的にアップデートする仕組みとか作れるといいかなと思ったんですけどね。 実装 どう実装するか? 仕様はある程度理解できました。 固定電
ActiveAndroidを使ってテーブル追加したつもりで、モデルを使おうとすると『no such table』と怒られるときの対応AndroidActiveAndroid しょうもないことでハマった。。 - 『新規テーブルの追加』はDBが作成されるタイミングか、アップロードするタイミングで行われる と、いうことを知らなかった。 新しいモデルを追加するだけで勝手にテーブル作ってくれるのかな、と甘えていた。 なので、モデル追加してアプリ実行しても『no such table』とエラーが出ていた。 - ActiveAndroidの処理を理解するためにソースを読む。 DB系の操作を一任されてそうなDataBaseHelper.javaを見てみる。 private void executeCreate(SQLiteDatabase db) このメソッド内で private void execute
androidのsqliteの日本語処理ではまりました。 はまったのは以下のケース ・sqliteのsqlファイルを用意。sqlファイルの文字エンコーディングはUTF-8 ・テーブルのtext型に文字列を格納。改行文字を\nとして格納 ・android側でDBからデータを取得。文字をTextViewに設定すると\nがそのままviewに出力されていまう。 ・\nを置換する。しかし、\nが置換されない。 というケースで半日はまった。 これでもjavaプログラマーなのかと自己嫌悪。 原因 ・置換改行文字をUTF-8に変換していなかった。 最初は String hoge = getDB(); hoge.setText(hoge.replaceAll("\\\\n", "\n")); とやっていた。 だが、これはNG。すっかり忘れていたが、javaの文字列内部コードはISO-8859-1なのである。
ServletとJavaBeansの連携 JSPとJavaBeansの連携方法については、前ページで解説しましたため、ここではServletとJavaBeansの連携方法について解説します。 ServletもJavaBeansもJavaプログラムであるため、連携方法は他のJavaプログラムの連携と変わりません。Servletの中で、JavaBeansのオブジェクトを生成し、オブジェクトを通してJavaBeansのメソッドを呼び出すことで行います。他のJavaプログラムとの違いはWebアプリケーションのスコープを意識する必要があることです。スコープを意識することで、Servlet、JSP、JavaBeans間で連携が図れます。 Servletでスコープを意識したデータ管理を行うには、各スコープのsetAttributeメソッドや、getAttributeメソッドを使用します。それらのメソッド
お久しぶりです、happy_ryo です。 最近、個人で書いているアプリは Objective-C ではなくて、Swift で書いてみるようにしています。 HTTP の GET リクエストのクエリストリングは、format などでベタで書かずに、一旦 Dictionary に格納してリクエストを投げる前に生成する派なのですが そんな中、Objective-C でもよく有った、String に標準で用意されている API では URL エンコードをするには不十分、というアレと向き合う必要があったので、iOS8 も出た事だし思い切って iOS6 を切り捨てて iOS7 以上対応で書いてみました。 iOS6 までは CFURLCreateStringByAddingPercentEscapes を使って解決するのが一般的な方法でしたが、今回は iOS7 で追加された stringByAdding
Feb 12, 2015 先日気付いてしまった. iOS8に,こんなに便利なクラスが追加されていたとは・・・. iOS7は,NSStringのメソッドでパーセントエスケープを実行するとなぜかデフォルトだと&(アンバッサンド)をエスケープしてくれなくてブチ切れるという,妖怪不祥事案件で言う所のいわゆるクエリ付きのURLにきちんとアクセスできないというヤツを引きおこしていました. この二つの使い方は,至って簡単. まずは,URLの生成. NSURLQueryItem *item1 = [NSURLQueryItem queryItemWithName:@"key1" value:@"hoge"]; NSURLQueryItem *item2 = [NSURLQueryItem queryItemWithName:@"key2" value:@"あいうえお"]; NSURLComponents
WKWebView では WKNavigationDelegate の webView:didReceiveAuthenticationChallenge:completionHandler: を実装することになります。 認証が必要なサイトにアクセスした場合、ユーザー名、パスワードの入力を求めるアラートを表示するようにしてみました。 func webView(webView: WKWebView!, didReceiveAuthenticationChallenge challenge: NSURLAuthenticationChallenge!, completionHandler: ((NSURLSessionAuthChallengeDisposition, NSURLCredential!) -> Void)!) { let alertController = UIAlertCon
I am currently trying to change my code from using NSURLConnection to NSURLSession. One thing that is confusing me is authentication. My service that I am trying to connect is basic authenticated. In my former code I had the following method by implementing protocol NSURLConnectionDataDelegate: func connection(connection:NSURLConnection!, willSendRequestForAuthenticationChallenge challenge:NSURLAu
UIScrollView の中に、行数に依存して高さが変わる UILabel があり、行数が増えて画面から下方にはみ出したとき縦スクロールできるようにする方法を紹介します。 いろいろ試行錯誤して見つけたやり方なので、なぜこれでできるのか理屈は今ひとつわかりません。より正しい方法をご存じの方がいらっしゃいましたら、コメント欄などで教えていただけると幸いです。 やりたいこと 下の図のような構成の画面で黄緑色の UILabel が storyboard で Lines を 0 に指定して高さが可変になっています。黄緑色の UILabel に表示されている内容が少なく、画面に納まっているときは、縦スクロールはしません。(もちろん横スクロールもしません) 下の図のように黄緑色の UILabel の内容が増えて、画面に納まらなくなると、縦スクロールするようにします。 画面の構成は次のようになっています
やりたいこと UIScrollViewにlabelなどの可変viewを配置して、その長さに応じてUIScrollViewをスクロールさせたい それをコード上ではなく、Interface Builder 上のAutoLayout制約だけで実現したい 制約の指定方法 Storyboard上の View Controller に Scroll View を配置しその中にLabelを表示する、という想定で説明します。 View Controller に Scroll View を配置する Scroll View の上下左右にスペース0の制約を付ける これで Scroll View の大きさが規定される Scroll View にViewを配置する Viewの上下左右にスペース0の制約を付ける この時点でStoryboardにエラーが出る Scroll View の中身であるViewの大きさかが規定
swiftはオプショナルが便利! と、swiftがリリースされてから言われてますがswift初心者からすると厄介極まりないです。 ?と!の使い分けが分からずとりあえず"?"をつける、ソースコードを書いていたら急にXcodeに怒られ、エラーに導かれるままに"!"をつける... こんな経験がある方がいるのではないでしょうか。 この記事はそんなオプショナルがフワフワした状態を脱却することを目的としています。 (そのため、あまり深い部分は扱いません...) 細かく項目を区切っているため多く見えますが、サクサク読めるはずです。頑張って読んでいただければオプショナル型を理解できると約束します。 時間のない人はまとめだけ見ていただければと思います。 ◼︎ 読了時間 オプショナル型と非オプショナル型 (4分) オプショナル型と非オプショナル型の違いを示します オプショナル型 (6分) オプショナル型"?"
segueを使って画面遷移できたけど、値を引き継ぎたい時のメモ FirstViewController ↓ SecondViewController にtextFieldの値を渡す想定 (ドットインストール参考) ※prepareForSegueというメソッドを使って渡すらしい ※segueのidentifierに名前つけとく 今回は(SecondView) import UIKit class ViewController: UIViewController { // テキストフィールド @IBOutlet weak var textField: UITextField! // このメソッドで渡す override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if segue.identifie
iOSでポップアップビューの自作を行う。 iOSでポップアップビューを実装する(with Storyboard) こちらの記事を参考にしてストーリーボードを使ってポップアップビューを自作。 上記の記事でも言及されているが、世の中には高機能でオシャレなポップアップ/モーダル実装がたくさんあるので、まずはそれらを採用できないか検討するのが賢明かと思われます。 Deployment Target:iOS 8.0 Swift:2.2 ViewControllerを2つ 最初のViewControllerとポップアップのViewControllerの2つを用意。 ポップアップのViewController 背景透過で後ろの画面を表示させるためにポップアップのViewControllerのPresentationをOver Current Contextに設定 背景透過のView ポップアップは背景透
2016/9/14 Xcode8正式リリース! Xcode8が正式リリースされたので、実際にアップデートしてみたよ Xcode8のリリースとともにSwift3.0になったことで以前のSwift2.xとは大幅に変わったということ ですが(正直よく分からない…)、とりあえずその辺の言語仕様は置いといて、Xcode側の方で気になった部分を ちょっと触ってみました。 ということで気付いたことをいくつか挙げていきます。 ストーリーボードがiPhoneの形になってる! うん、見たまんまですね。笑 今までは画面の形がデフォルトで正方形(SizeクラスがWidth:any、Height:any)になっていましたが、 今回は元からiPhoneの形(たぶんデフォルトiPhone6sのサイズ)になっています。 現在の画面サイズは図の赤枠内で確認できます。 ズームイン・ズームアウトがめっちゃ細かくできる! これ地
それでは、今回からはIssuesメニューについてです。 このIssuesメニューでは今まで追加してきた制約によってstoryboard上と実際に表示される場所にズレなどが 生じた際に、自動で正しい位置にオブジェクトの位置を変更するなどといった調整ができます。 まず、このIssuesメニューをクリックして開いてみましょう。 この画像では前回作成した正方形のラベルを使用しています。 Issuesメニューの項目を見てみると、上部分と下部分で大きく2つに分かれているのが確認できると思います。 そして、項目名も全く同じですね。上部分は選択しているオブジェクトに対してのみ選択した項目を適用し、 下部分はすべてのオブジェクトに対して選択した項目を適用します。1つに対してか、全体に対してかの違いですね。 では各項目についてみていきましょう。 ・Update Frames storyboard上の座標やサイ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く