手工打造一個Viewer


//
//  main.m
//  
//
//  Created by unknown on 12/6/1.
//  Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//

#import <UIKit/UIKit.h>

// 好用的列按鈕項目建立巨集
#define BARBUTTON(TITLE, SELECTOR)     [[UIBarButtonItem alloc] \
initWithTitle:TITLE style:UIBarButtonItemStylePlain target:self \
action:SELECTOR]

//Step 5.a 設計一個ViewController
@interface convertController:UIViewController
{
	
	UITextField *field1;
	UITextField *field2;
}
-(IBAction)doConvert:(id)sender;
@end

@implementation convertController
//Step 5.b 複寫loadView來佈置此ViewController的layerOut
-(void)loadView
{
	CGRect appFrame=[[UIScreen mainScreen]applicationFrame];//
	
	self.view=[[UIView alloc]initWithFrame:appFrame];
	field1 = [[UITextField alloc] initWithFrame:
              CGRectMake(185.0, 16.0, 97.0, 31.0)];
    field1.borderStyle = UITextBorderStyleRoundedRect;
    field1.keyboardType = UIKeyboardTypeDecimalPad;
    field1.clearButtonMode = UITextFieldViewModeAlways;
    
    field2 = [[UITextField alloc] initWithFrame:
              CGRectMake(185.0, 72.0, 97.0, 31.0)];
    field2.borderStyle = UITextBorderStyleRoundedRect;
    field2.enabled = NO;
    
    UILabel *label1 = [[UILabel alloc] initWithFrame:
                       CGRectMake(95.0, 19.0, 82.0, 21.0)];
    label1.text = @"Fahrenheit";
    label1.textAlignment = UITextAlignmentLeft;
    label1.backgroundColor = [UIColor clearColor];
    
    UILabel *label2 = [[UILabel alloc] initWithFrame:
                       CGRectMake(121.0, 77.0, 56.0, 21.0)];
    label2.text = @"Celsius";
    label2.textAlignment = UITextAlignmentLeft;
    label2.backgroundColor = [UIColor clearColor];
    
    // 將各元件加入內容視圖裡
    [self.view addSubview:field1];
    [self.view addSubview:field2];
    [self.view addSubview:label1];
    [self.view addSubview:label2];
	
	// 設定標題文字,加入Convert按鈕
    self.title = @"Converter";
    self.navigationItem.rightBarButtonItem = BARBUTTON(@"Convert", @selector(doConvert:));
    

}
-(IBAction)doConvert:(id)sender
{
	float invalue = [[field1 text] floatValue];
    float outvalue = (invalue - 32.0f) * 5.0f / 9.0f;
    [field2 setText:[NSString stringWithFormat:@"%3.2f", outvalue]];
    [field1 resignFirstResponder];
}
@end


//=====================
//Step 1.建立UIApplicationDelegaye class
@interface converDelegate :NSObject<UIApplicationDelegate>
{
//Step 2.加入window 指標	
	UIWindow *_window;
}

@end

@implementation converDelegate
//Step 3.複寫applicationDidFinishLaunching
-(void)applicationDidFinishLaunching:(UIApplication *)application
{
	//Step 4.構建window,並且保留在_window
	_window=[[UIWindow alloc]initWithFrame:[[UIScreen mainScreen]bounds]];
	//Step 5.建構一個UINavigationController,並且初始化一個converController 物件當做RootViewController
	UINavigationController *nc=[[UINavigationController alloc]initWithRootViewController:[[convertController alloc]init]];
	//Step 6.把nc挂入到window的Root
	[_window setRootViewController:nc];
	//Step 7.show window 
	[_window makeKeyAndVisible];
}

@end


int main(int argc, char *argv[])
{
	@autoreleasepool {
	    return UIApplicationMain(argc, argv, nil, @"converDelegate");
	}
}

猜你喜欢

转载自luckfox.iteye.com/blog/1546572