投稿

11月, 2018の投稿を表示しています

[Swift] UISliderをカスタマイズしてみる

イメージ
iOSの標準コントロールに、UISliderというのがありますが、現在の値を表示したいと思ったことはないでしょうか。 プロパティを探してもそれらしいものが見つけられなかったので、UISliderを継承してオブジェクトを作ってみました。 UISlider 今回作成するオブジェクト 環境 MacOSX 10.14 Xcode 10.1 Swift 4 Target iOS 9.0 実現する内容 スライダーの値を表示する スライダーの上に見出し(タイトル)を表示する 増加量(ステップ量)を指定できるようにする 実装 SUISlider UISliderを継承して、SUISliderを作成します。 ソースの全体像は下記の通りです。 import UIKit public class SUISlider : UISlider { var labelTitle: UILabel var valueWidth: CGFloat = 60 var stepValue : Float = 0 private var labelValue: UILabel private let SPACING: CGFloat = 8 public override init(frame: CGRect) { labelTitle = UILabel() labelValue = UILabel() labelValue.textAlignment = NSTextAlignment.right super.init(frame: frame) self.addSubview(labelTitle) self.addSubview(labelValue) self.addTarget(self, action: #selector(self.onValueChanged(sender: )),

[Swift] AudioKitを使ってみる

イメージ
iOSで音を鳴らす方法を探してみたところ、AudioKitというフレームワークを使うと、便利そうだったので、使ってみることに。 フレームワークの利用にあたり、CocoaPods前提の情報はたくさんありましたが、 ・Projectファイルを勝手に書き換える ・バージョンが変わるとエラーが出る など、ネガティブな情報も多かったので、CocoaPodsを使わない方法での利用をしてみました。 環境 macOS Mojave (10.14) Xcode 10.1 iOS Target : 9.0 Swift Langage Version : Swift 4.2 AudioKitのダウンロード とりあえず、フレームワークを入手しないと始まらないので、サイトからダウンロードします。 AudioKit :  https://audiokit.io/downloads/ Projectへの組み込み xcodeでプロジェクトを開いて、ダウンロードしたフレームワークをドラッグ&ドロップで追加。 ファイルがごちゃ混ぜになると醜くなるので、私はフォルダを分けてわかりやすくするために、Frameworksというフォルダを作って、その下に追加してます。 フレームワークを追加すると、importができるようになります。 コンパイル はい。ここでハマりました。 ビルドを行うと、エラーが出ました。 ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) x86_64が見つからない? ようなので、プロジェクトファイルのBuildSettingにある Valid Architecturesにx86_64を足してみたりもしましたが、エラーは解消されず。。。 ダウンロードしたAudioKit内には、README.mdがあって、これを見ると、 Make sure to add `-lc++` to the **Other Linker Flag