UISegmentedControlのタイトルの文字サイズと位置を調整するメモ
UISegmentedControlのタイトルの文字サイズはデフォルトのままでは小さいので、
サイズを任意で指定して、さらにオフセットで位置を微調整。
// _segmentControl はUISegmentedControlのインスタンス変数 [_segmentControl setTitleTextAttributes:@{NSFontAttributeName:[UIFont systemFontOfSize:16]} forState:UIControlStateNormal]; [_segmentControl setContentPositionAdjustment:UIOffsetMake(0, 2) forSegmentType:UISegmentedControlSegmentAny barMetrics:UIBarMetricsDefault];
UISegmentedControlSegmentAny はUISegmentedControlのすべてのセグメントを対象とする場合に指定する。
他にUISegmentedControlSegmentLeftやUISegmentedControlSegmentCenterなどもあり、セグメントの位置を指定(例えばセグメントが3つであれば、左だけ、中央だけとか)して調整ができる。
iOSの新言語SwiftでAdMobの実装方法を検証(delegate実装)
前回の続きでAdMobのデリゲートメソッドの実装部分をSwiftで書いた場合のメモです。
import UIKit // GADBannerViewDelegate を追加 class ViewController: UIViewController, GADBannerViewDelegate { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. var bannerView: GADBannerView = GADBannerView(); bannerView = GADBannerView(adSize:kGADAdSizeBanner); bannerView.adUnitID = "ここに広告ユニットIDを書く"; bannerView.delegate = self; bannerView.rootViewController = self; self.view.addSubview(bannerView); bannerView.loadRequest(GADRequest()); } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } /****************************************************/ // 以下、GADBannerViewDelegate の各メソッド func adViewDidReceiveAd(adView: GADBannerView){ println("adViewDidReceiveAd:\(adView)") } func adView(adView: GADBannerView, didFailToReceiveAdWithError error: GADRequestError){ println("error:\(error)") } func adViewWillPresentScreen(adView: GADBannerView){ println("adViewWillPresentScreen") } func adViewWillDismissScreen(adView: GADBannerView){ println("adViewWillDismissScreen") } func adViewDidDismissScreen(adView: GADBannerView){ println("adViewDidDismissScreen") } func adViewWillLeaveApplication(adView: GADBannerView){ println("adViewWillLeaveApplication") } /****************************************************/ }
iOSの新言語SwiftでAdMobの実装方法を検証
Objective-Cで書かれているAdMobをSwiftでどうやって使うのか気になったので検証したメモです。
検証環境
Xcode 6.0 beta
GoogleMobileAdsSDkiOS-6.9.2
手順
1、Xcode6で新規プロジェクトを作成
XcodeのメニューからFile>New>Project>「Single View Application」(ここでは例として)を選択。
Language: の選択ではSwiftを選択してプロジェクトを作成します。
2、AdMobのSDKをプロジェクトに追加
今回はここの詳しい説明は省略します。
基本的に以下の公式情報の通りで導入できます。
AdSupportなど必要なフレームワークの追加とOther Linker Flagsに-ObjCを追加を忘れないようにします。
ダウンロード先
https://developers.google.com/mobile-ads-sdk/download#downloadios
プロジェクトへの追加方法
https://developers.google.com/mobile-ads-sdk/docs/#ios
AdMobについては、そのうち別記事で詳しく紹介する予定です。
3、SwiftからAdMob SDKのコードを呼び出せるようにする
XcodeのメニューからFile>New>File から「Header File」を選択し、
Swift_Bridging_Headerというファイル名(任意)にして、Swift_Bridging_Header.h というファイルを作ります。
Swift_Bridging_Header.h のファイル内に #import "GADBannerView.h" を記述します。
Swift_Bridging_Header.h #import "GADBannerView.h"
プロジェクトファイルを選択>TARGETS>Build Settings>Swift Compiler - Code Generation>Objective-C Bridging Header に
$(SRCROOT)/$(PROJECT)/Swift_Bridging_Header.h と書いてパスを追加します。
4、SwiftでAdMobのバナー広告を表示する
import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. var bannerView: GADBannerView = GADBannerView(); bannerView = GADBannerView(adSize:kGADAdSizeBanner); bannerView.adUnitID = "ここに広告ユニットIDを書く"; bannerView.delegate = self; bannerView.rootViewController = self; self.view.addSubview(bannerView); bannerView.loadRequest(GADRequest()); } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }
以上で、AdMobのバナー広告を表示することができます。
デリゲートの実装については後ほど続きを書きます。
「Gyazo GIF」&「Gyazo」簡単にGIFアニメーションやスクリーンショットが作成できるアプリ
Gyazo GIF
こちらはGIFアニメーション作成用
どちらもアプリを起動してデスクトップ上の任意の範囲をドラッグするだけで、
スクリーンショットまたはGIFアニメが作れます。
自分のGitHubにデモアプリを公開する時に、アプリの動きも見せたかったのでGyazo GIFを使いました。
https://github.com/travitu/TRACustomWindow
独自のポップアップ表示が簡単に実装できるライブラリを公開しました。
TRACustomWindow
https://github.com/travitu/TRACustomWindow
【作った理由】
既に同じようなライブラリはありましたが、以下の条件をよい感じに満たしてくれるものが見当たらなかったので作りました。
- 画面のどこをタッチしてもポップアップが消えるようにしたい
- ポップアップのアニメーションがiOS標準の動きになるべく近いものにしたい
- 画像やボタンを簡単にカスタマイズできるようにしたい
【使い方】
ライブラリをダウンロードして、以下の4つのファイルを含んだ TRACustomWindow フォルダごとプロジェクトに追加します。
- TRACustomBaseView.h
- TRACustomBaseView.m
- TRACustomUIWindow.h
- TRACustomUIWindow.m
使いたいViewControllerのヘッダーファイルに
#import "TRACustomUIWindow.h" と TRACustomUIWindowDelegate を追加します。
ポップアップを表示したい箇所で以下のメソッドを呼び出します。
[[TRACustomUIWindow sharedInstance] showWindow]; [[TRACustomUIWindow sharedInstance] setDelegate:self];
画面のタッチでポップアップを消したくない場合は、ポップアップ表示の時に以下のメソッドを追加します。
[[TRACustomUIWindow sharedInstance] setEnableBaseViewTouch:NO];
ボタンのタップでポップアップを消したい時は以下のメソッドを呼び出します。
[[TRACustomUIWindow sharedInstance] hideWindow];
デモのプロジェクトも一緒に見てもらえれば簡単に導入できると思います。
https://github.com/travitu/TRACustomWindow
待望の頭文字D 最終話Final Stageが放送始まっていた!そして、、、
今日テレビを見てたらあのイニシャルDのCMが流れてきました。最終話のアニメ化はいつなのかと思いながら1年くらい経っていて忘れていましたが、ついに放送が始まってDVD発売と映画も公開されるみたいで、楽しみが1つ増えました。
最終話Final Stageの放送スケジュール
http://www.animax.co.jp/special/initial-d/
そのDVD発売
http://www.amazon.co.jp/頭文字-イニシャル-Final-Stage-Vol-1/dp/B00ITKL19M
新劇場版公式サイト
ちなみにFinal Stageのオープニングとエンディングの曲はこれみたいです。
https://www.youtube.com/watch?v=BTm6hNZnQKI