//ProjectAppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
float version = [[[UIDevice currentDevice] systemVersion] floatValue];
if (version >= 8.0) {
//iOS8でtoolbar naigationbarの透過をオフにする
//iOS7ではsetTranslucentでBOOLを受け付けないのでクラッシュする
[[UINavigationBar appearance] setTranslucent:NO];
[[UIToolbar appearance] setTranslucent:NO];
}
return YES;
}
//ViewController
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
isHidingStatusBar = YES;
//iOS7 ステータスバーの表示/非表示切り替え
//navigationBarHidden toolbarHiddenを呼び出した時にも呼ばれる
[self setNeedsStatusBarAppearanceUpdate];
//iOS7
self.navigationController.navigationBarHidden = YES;
self.navigationController.toolbarHidden = YES;
[self.navigationController.navigationBar setBarTintColor:[UIColor blackColor]];
[self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];
[self.navigationController.navigationBar setTranslucent:YES];
[self.navigationController setNavigationBarHidden:NO];
[self.navigationController.toolbar setBarTintColor:[UIColor blackColor]];
[self.navigationController.toolbar setTintColor:[UIColor whiteColor]];
[self.navigationController.toolbar setTranslucent:YES];
}
- (void)viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
//[[[UIApplication sharedApplication] keyWindow] tintColor]は変更がない限りデフォルトカラー
[self.navigationController.navigationBar setBarTintColor:[[[UIApplication sharedApplication] keyWindow] tintColor]];
[self.navigationController.navigationBar setTintColor:[[[UIApplication sharedApplication] keyWindow] tintColor]];
[self.navigationController.toolbar setBarTintColor:[[[UIApplication sharedApplication] keyWindow] tintColor]];
[self.navigationController.toolbar setTintColor:[[[UIApplication sharedApplication] keyWindow] tintColor]];
}
//setNeedsStatusBarAppearanceUpdateで呼び出される
- (BOOL)prefersStatusBarHidden {
//ステータスバーの表示/非表示をBoolで指定
return isHidingStatusBar;
}
//setNeedsStatusBarAppearanceUpdateで呼び出される
- (UIStatusBarAnimation)preferredStatusBarUpdateAnimation
{
//アニメーションの設定
return UIStatusBarAnimationFade;
}
2015年2月2日月曜日
[iOS]iOS7以降のStatusbar、Navigationbar、Toolbarのメモ
2015年1月20日火曜日
[iOS]iOS7で文字列のサイズを求める
//iOS6まで、非推奨
CGSize size = [textLabel.text sizeWithFont:[UIFont systemFontOfSize:fontSize]
constrainedToSize:textLabel.size
lineBreakMode:UILineBreakModeWordWrap];
//iOS7
CGSize size = [textLabel.text boundingRectWithSize:textLabel.size
options:NSStringDrawingTruncatesLastVisibleLine|NSStringDrawingUsesLineFragmentOrigin
attributes:@{NSFontAttributeName:textLabel.font} context:nil].size;
2015年1月15日木曜日
[iOS]iOS7以降のModalView呼び出しと解放
float version = [[[UIDevice currentDevice] systemVersion] floatValue];
if (version >= 7.0) {
//iOS7以降
//呼び出し
[self presentViewController:vc animated:YES completion:nil];
//解放
[self dismissViewControllerAnimated:YES completion:nil];
} else {
//iOS6以前
//呼び出し
[self presentViewController:vc animated:YES];
//解放
[self.parentViewController dismissModalViewControllerAnimated:YES];
}
2015年1月14日水曜日
[iOS]iOSのバージョンを調べる
float version = [[[UIDevice currentDevice] systemVersion] floatValue];
if (version >= 8.0) {
} else {
}
2014年12月11日木曜日
[Android]別アプリにIntentで画像を送る
今のほとんどのアプリにある共有ボタンにresフォルダ内にある画像をつける
Uri imageUri = Uri.parse("android.resource://" + getPackageName() + "/drawable/" + "imageName");
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType("image/jpeg");
intent.putExtra(Intent.EXTRA_STREAM, imageUri);
startActivity(intent);
2014年12月9日火曜日
[Titanium]モジュールのビルドができない
Titaniumでモジュールを作成する時に、
build>class>"クラスパス">hoge.class
というファイルが生成されるが
このファイル、Titanium Stadioのビルド>クリーンでは削除されないので
クラスを作成した後にリネームをするときは手動で削除する必要があるようだ。
build>class>"クラスパス">hoge.class
というファイルが生成されるが
このファイル、Titanium Stadioのビルド>クリーンでは削除されないので
クラスを作成した後にリネームをするときは手動で削除する必要があるようだ。
2014年11月23日日曜日
[Unity]EasyTouchを使う
Unity 4.6.0b20
EasyTouch 3.1.10
EasyTouch 3.1.10
- EasyTouchをインポート
- pluginsフォルダはプロジェクトのルートになければならない
- ツールバー > Tools > Hedgehog Team > EasyTouch > Add EasyTouch for C#
HierarchyにEasyTouchが追加される - HierarchyのEasyTouchを円卓Auto-SelectProperties > Pickable LayersをDefaultにする
- タップしたいオブジェクトに以下のコードのスプリクトを追加
オブジェクトにはColliderが必要
using UnityEngine;
using System.Collections;
public class TapSample : MonoBehaviour
{
//シングルタップを登録
void OnEnable()
{
EasyTouch.On_SimpleTap += On_SimpleTap;
}
//登録の解除
void OnDisable()
{
UnsubscribeEvent();
}
//登録の解除
void OnDestroy()
{
UnsubscribeEvent();
}
void UnsubscribeEvent()
{
EasyTouch.On_SimpleTap -= On_SimpleTap;
}
//タップ時に通知を受け取る
private void On_SimpleTap(Gesture gesture)
{
if (gesture.pickObject == gameObject) {
//タップ時の処理
}
}
}
登録:
投稿 (Atom)