Swift 機種判定をする
今回は、swiftで、画面の高さから機種を判定する方法を書きます。
つまり、画面の高さを取得して、その値からiPhone5なのかiPhone6なのかを判定します。
こんな感じに書きます。
// アプリ実行端末のディスプレイサイズの高さを取得 let display: CGRect = UIScreen.mainScreen().bounds if (display.size.height == 568) { // iPhone 5 の場合 println("5") } else if (display.size.height == 667) { // iPhone 6 の場合 println("6") } else if (display.size.height == 736) { // iPhone 6 Plus の場合 println("6+") }
実行結果
ちなみに、「display.size.width」とすると、横幅が取れます。
これで、終わります。
※Swiftは、まだまだ勉強中ですので、間違っているかもしれません。間違っていましたら、ご指摘をお願いしますm(_ _)m
Swift UIButtonに下線をつける
今回は、swiftでUIButtonに下線をつける方法を書きます。
こんな感じの下線を作る方法です↓↓
このように、書きます。※UIButtonは、Storyboardで配置しています。
import UIKit class ViewController: UIViewController { @IBOutlet weak var btn: UIButton! var border: UIView! override func viewDidLoad() { super.viewDidLoad() // 下線を生成 border = UIView(frame: CGRectMake(0, btn.frame.size.height - 0.3, btn.frame.size.width, 2)) // 下線の色を設定 border.backgroundColor = UIColor.redColor() self.btn.addSubview(self.border) } }
実行結果
線の太さや長さはこちらで指定しています。
border = UIView(frame: CGRectMake(0, btn.frame.size.height - 0.3, btn.frame.size.width, 2))
CGRectMakeの引数はコチラに書かれています。
簡単に言いますと、第1引数から、X座標、Y座標、幅、高さとなっています。
下線の色は、こちらで指定しています。
border.backgroundColor = UIColor.redColor()
もちろん、「UIColor.blueColor()」とかにしたら、青色になります(笑)
最後に、UIButtonに「addSubview」するのを忘れないように(笑)
これで、終わります。
参考サイト
サイズ指定(CGRect CGPoint CGSize) - iPhoneアプリ開発の虎の巻
※Swiftは、まだまだ勉強中ですので、間違っているかもしれません。間違っていましたら、ご指摘をお願いしますm(_ _)m
Swift Base64方式でエンコード・デコードする
今回は、swiftでBase64方式でエンコード・デコードする方法を書きます。
ちなみにBase64というのは、データを64種類の印字可能な英数字のみを用いて、それ以外の文字を扱うことの出来ない通信環境にてマルチバイト文字やバイナリデータを扱うためのエンコード方式である。MIMEによって規定されていて、7ビットのデータしか扱うことの出来ない電子メールにて広く利用されている。
と、ウィキペディアに書かれています。
まず始めに、Base64で、文字列をエンコードする方法を書きます。
let text: String = "Test1" //エンコード let data = text.dataUsingEncoding(NSUTF8StringEncoding) let base64Str = data!.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.Encoding64CharacterLineLength) println(base64Str)
実行結果
「Test1」という文字列を、Base64でエンコードしています。
今度は、デコードする方法を書きます。
let base64Text = "VGVzdDE=" let decodedData = NSData(base64EncodedString: base64Text, options: NSDataBase64DecodingOptions.IgnoreUnknownCharacters) if let decodedString = NSString(data: decodedData!, encoding: NSUTF8StringEncoding) { println(decodedString) }
実行結果
Base64エンコードされた「VGVzdDE=」を文字列にデコードしています。
最後に、画像(UIImage)をBase64方式でエンコードする方法を書きます。
var jpgData: NSData = NSData(data: UIImageJPEGRepresentation(UIImage(named: "test"), 0.5)) jpgData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions.Encoding64CharacterLineLength) println(jpgData)
実行結果
UIImageJPEGRepresentationという関数を使って、NSDataを作り、それをエンコードします。
UIImageJPEGRepresentationの第1引数に「UIImage」、第2引数に圧縮率を指定してます。
これで、終わります。
参考サイト
base64エンコード・デコード(「Test1」をbase64でエンコード)
Swift: Base64 方式でエンコードする - Sarabande.jp
iPhoneアプリ開発・アプリ内への写真の保存 | hiro2 studio別館
※Swiftは、まだまだ勉強中ですので、間違っているかもしれません。間違っていましたら、ご指摘をお願いしますm(_ _)m