#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
#import <UIKit/UIKit.h>
@interface AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@end
#import "AppDelegate.h"
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
return YES;
}
- (void)applicationWillResignActive:(UIApplication *)application {}
- (void)applicationDidEnterBackground:(UIApplication *)application {}
- (void)applicationWillEnterForeground:(UIApplication *)application {}
- (void)applicationDidBecomeActive:(UIApplication *)application {}
- (void)applicationWillTerminate:(UIApplication *)application {}
@end
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@end
#import "ViewController.h"
@interface ViewController ()
{
//移動ベクトルを保存
CGPoint prevTranslation;
}
//トンボのプロパティ宣言
@property (weak, nonatomic) IBOutlet UIImageView *tombo;
//パン(ドラッグ)アクションと接続するメソッドの宣言
- (IBAction)dragging:(UIPanGestureRecognizer *)sender;
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
}
//ドラッグ中に連続して呼び出されるメソッド
- (IBAction)dragging:(UIPanGestureRecognizer *)sender {
//ドラッグ移動したベクトル
CGPoint translation = [sender translationInView:self.view];
if(sender.state == UIGestureRecognizerStateBegan){
//前回の続きから開始する
[sender setTranslation:prevTranslation inView:self.view];
} else if(sender.state == UIGestureRecognizerStateChanged){
//ドラッグに合わせて移動させる
_tombo.transform = CGAffineTransformMakeTranslation(translation.x, translation.y);
} else if(sender.state == UIGestureRecognizerStateEnded){
//ドラッグ操作終了時の移動ベクトルを保存する
prevTranslation = translation;
}
}
@end
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Windowの大きさをスクリーンサイズに
[self.window makeKeyAndVisible]; // Windowを表示する
return YES;
}
#import <UIKit/UIKit.h>
#import "BFAppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([BFAppDelegate class]));
}
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Windowの大きさをスクリーンサイズに
CGRect rect = [self.window frame]; // Windowの大きさを求めて
UILabel* label = [[UILabel alloc] initWithFrame:rect]; // Labelの大きさをそれに合わせる
label.text = @"Hello World!"; // ラベルを"Hello World!"にする
self.window.backgroundColor = [UIColor whiteColor]; // Windowの背景色を白に
[self.window addSubview:label]; // Windowにラベルを追加
[self.window makeKeyAndVisible]; // Windowを表示する
return YES;
}
#import <UIKit/UIKit.h>
#import "BFViewController.h" // ViewControllerクラスをインポート
@interface BFAppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong,nonatomic) BFViewController *viewController; // viewControllerのインスタンスを保持するためのプロパティ追加
@end
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; // Windowの大きさをスクリーンサイズに
self.viewController = [[BFViewController alloc] init]; // ViewControllerのインスタンス生成して
self.window.rootViewController = self.viewController; // WindowのルートViewコントローラに設定
[self.window makeKeyAndVisible]; // Windowを表示する
return YES;
}
#import <UIKit/UIKit.h>
@interface BFViewController : UIViewController
@end
#import "BFViewController.h"
@implementation BFViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
CGRect rect = [self.view frame]; // viewの大きさを求めて
UILabel* label = [[UILabel alloc] initWithFrame:rect]; // Labelの大きさをそれに合わせる
label.text = @"Hello View World!"; // ラベルを"Hello View World!"にする
self.view.backgroundColor = [UIColor whiteColor]; // viewの背景色を白に
[self.view addSubview:label]; // viewにラベルを追加
}
@end
- (void)viewDidLoad {
UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; // ボタンを作る
[button setTitle:@"Touch me!" forState:UIControlStateNormal]; // ボタンに表示するCaptionを設定
[button sizeToFit]; // 表示する文字にサイズを調整
button.center = self.view.center; // ボタンの中心をView中心に合わせる
[button addTarget:self // ボタンのターゲットをself(現在のView)にして、
action:@selector(buttonDidPush) // Actionに対して、buttonDidPushを実行する
forControlEvents:UIControlEventTouchUpInside]; // ボタンを押した時のイベントに対して、
[self.view addSubview:button]; // ボタンをViewに追加
}
- (void)buttonDidPush { // buttonDidPushメソッドを追加
UIAlertView* alert = [[UIAlertView alloc] // Alertの定義
initWithTitle:nil //
message:@"Hello Button!" // 表示するメッセージ
delegate:nil //
cancelButtonTitle:nil //
otherButtonTitles:@"OK",nil]; // Alertボタンの文字
[alert show]; // Alertを表示
}
$ svn co http://macfuse.googlecode.com/svn/trunk/filesystems/sshfs/binary sshfs-binaries
$ cd sshfs-binaries
$ sudo mv sshfs-static-leopard /bin/sshfs
$ cd ~/Desktop
$ mkdir mnt
$ sshfs ユーザ名@サーバ名:/ディレクトリ名 ~/Desktop/mnt
/bin/sshfs username@site_name:/home/username ~/Desktop/mnt
sshfs: cannot find sshnodelay.so
$ ssh-keygen
$ scp .ssh/id_rsa.pub username@sitename:id_rsa.pub
$ ssh username@sitename
$ cat id_rsa.pub >> ~/.ssh/authorized_key2
$ chmod 600 ~/.ssh/authorized_key2
$ exit
{
"block" : {
"width" : 34.0,
"height" : 16.0,
"rows" : 5,
}
}
static NSDictionary *config = nil;
NSString *path = [[NSBundle mainBundle] pathForResource:@"config" ofType:@"json"];
NSData *data = [NSData dataWithContentsOfFile:path];
if (!config) {
config = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
}
int rows = [config[@"block"][@"rows"] intValue];
CGFloat width = [config[@"block"][@"width"] floatValue];
CGFloat height = [config[@"block"][@"height"] floatValue];