2017-01-01から1年間の記事一覧
環境: Android Studio 3.0.1 Android アプリのデバッグログがシミュレータ操作時には Logcat コンソールに表示されるが、Huawei P9 lite端末を接続して操作した場合にはなぜか出力されない。 調べた結果、Huawei 端末側のログ出力設定を変更することで表示さ…
環境: Swift3 StroyBoard 上で UILabel の文字列を Plain ではなく Attributed で設定し、その文字列内の PlaceHolder を後から別の文字列に置き換えたいケースがあり必要になった。 NSMutableAttributedString#replaceCharacters(in:with:)メソッドを使用す…
環境: Swift3 iOS10 UILabel ではなく UITextView の attributedText に NSLinkAttributeName をセットすることで簡単にできた。 クリック時にデフォルトでは Safari が起動して設定したURLのページが表示された。 クリック時の挙動を変更したい場合は UITex…
環境: Xcode8.3.2 Swift3 URL Scheme の追加 Target -> Info -> URL Types から URL Scheme を追加する。 まだ何も追加していない状態。 +ボタンを押してidentifierとURL Schemesを追加した。 URL Schemes にはカンマ区切りで複数入力も可能。 identifier: …
環境: Swift3 あるViewのSubviewのレイアウトをAuto Layoutで行った時にアニメーションしながら配置された。 この時のアニメーションは不要なので無効にする。 やり方はSubviewの配置が行われるlayoutSubviewsメソッドをオーバーライドして以下のようにアニ…
環境: Swift3 角丸なUIViewに角丸なドロップシャドウをつけるやり方。 shadowView.layer.cornerRadius = 10 shadowView.layer.masksToBounds = false shadowView.layer.shadowColor = UIColor.black.cgColor shadowView.layer.shadowOffset = CGSize(width: …
環境: Xcode8.2.1, Swift3 CGPath の変化をアニメーションさせる方法を試した。 気をつける点としては変更前と変更後のパスの数を同じにしておくこと。 import UIKit import PlaygroundSupport class SquareButton: UIControl { let pathLayer = CAShapeLaye…
環境: Xcode8.2.1, Swift3 UIScrollViewのisPagingEnabledプロパティを true にすると、ページ単位のスクロールが可能になる。 このときに現在のページ数を求める方法についてメモ。 ページングは横スクロールの場合なら UIScrollView のcontentOffset.xがUI…
環境: Xcode8.2.1, Swift3 UIScrollView 上に UITextField / UITextView を乗せている場合はkeyboardDismissModeプロパティを設定することで自動でキーボードを閉じることができる。 Storyboardの場合 コードの場合 // デフォルト設定。UIScrollView をドラ…
環境: Xcode8.2.1, Swift3 UIScrollView のドラッグによるスクロール時に呼ばれる UIScrollViewDelegate の順番 // MARK: - UIScrollViewDelegate // any offset changes // スクロール中は常に呼ばれる func scrollViewDidScroll(_ scrollView: UIScrollVie…
環境: Xcode8.2.1, Swift3 UIScrollView の Bounce 設定のパラメータが3つあるが、これらの違いについて調べた。 Storyboard 以下がデフォルトの設定 コード // UIScrollView // default YES. if YES, bounces past edge of content and back again open va…
環境: Xcode8.2.1, Swift3 Storyboard 上で UIScrollView を AutoLayout を使って設定する方法について。 ちょっとハマったのでメモ。 ビューの階層構造は UIViewController.view -> UIScrollView -> UIView とする。 UIScrollView の制約 UIScrollView の制…
環境: Swift3 前回はAudioServicesPlaySystemSoundでサウンドファイルを再生したが、今回はAVAudioPlayerを使って再生する例。 AVAudioPlayerのインスタンスは強参照する。 import AVFoundation var audioPlayer: AVAudioPlayer? func playSound() { do { se…
環境: Swift3 今回はpico.mp3という効果音ファイルがあり、それを再生する例。 まずは、このファイルをXcodeのプロジェクトに右クリックのAdd Files to **から追加する。 TARGETのBuild Phases->Copy Bundle Resourcesに追加したファイルが含まれていること…
環境: Swift3 コレクションビューで縦横どちらにもスクロールさせることはできるか調べてみた。 デフォルトのレイアウトクラスであるUICollectionViewLayoutでは縦横どちらかの方向にしかスクロールできないようだ。 コレクションビューではUICollectionView…
環境: swift3 fontawesome.io FontAwesome をXcodeにカスタムフォントとして取り込んで使用する方法。 以下からFontAwesome.otfをダウンロードする https://github.com/FortAwesome/Font-Awesome/blob/master/fonts/FontAwesome.otf Xcode のプロジェクト内…
インストール homebrewからインストールすると古いバージョンがインストールされたので https://github.com/mitmproxy/mitmproxy/releases こちらから最新のバージョンv1.0.2のバイナリmitmproxy-1.0.2-osx.tar.gzをダウンロードした。 以下、実機端末で確認…
環境: Swift3 こんな感じの円形ボタンのカスタムビューを作る。 ボタンというよりUISwitch的なON・OFFの状態切り替えをさせたい。 UIControlを継承して、状態はisSelectedプロパティで保持している。 import UIKit import PlaygroundSupport final class Cir…
環境: Swift3 よく使うのでコピペ用にメモしておく。 ViewController import UIKit class ViewController: UIViewController { var items: [String] = ["foo", "bar", "hoge"] @IBOutlet weak var tableView: UITableView? override func viewDidLoad() { su…
fastlane: 2.3.0 Fastlaneでplistを更新する方法を調べたのでメモ。 update_info_plistというアクションを使う。 fastlane/update_info_plist.rb at master · fastlane/fastlane · GitHub app_identifierとdisplay_nameについてはアクションのパラメータに直…