当前位置: 代码迷 >> Iphone >> 一个容易的iPhone项目及代码
  详细解决方案

一个容易的iPhone项目及代码

热度:31   发布时间:2016-04-25 06:26:57.0
一个简单的iPhone项目及代码

版权所有,欢迎转载,转载请注明 : SinFrancis ?http://mdev.cc?

?

?

iphone NIB文件 ?-> android xml布局文件

?

iphone delegate class + controller class -> android Activity

?

main方法 -> android的中AndroidManifest.xml要启动的Activity

?

?

步骤:

1. 使用XCODE创建项目

2. 打开nib文件,将需要的组件拖放至view中

3. 在Controller类中声明组件变量 \ 事件接收方法,注意需要 IBOutlet关键字,

4. 使用InterfaceBuilder链接Controller类中的变量\事件接收方法 至 每个组件上

5. 实现事件接收方法

?

(不用InterfaceBuilder依然可以实现UI界面,使用纯Code编写.)

?

main:

////  main.m//  HelloUser////  Created by sin francis on 10-8-26.//  Copyright __MyCompanyName__ 2010. All rights reserved.//#import <UIKit/UIKit.h>int main(int argc, char *argv[]) {        NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];    int retVal = UIApplicationMain(argc, argv, nil, nil);    [pool release];    return retVal;}

?

Delegate声明:

?

HelloUserAppDelegate.h

?

////  HelloUserAppDelegate.h//  HelloUser////  Created by sin francis on 10-8-26.//  Copyright __MyCompanyName__ 2010. All rights reserved.//#import <UIKit/UIKit.h>@class HelloUserViewController;@interface HelloUserAppDelegate : NSObject <UIApplicationDelegate> {    UIWindow *window;    HelloUserViewController *viewController;	}@property (nonatomic, retain) IBOutlet UIWindow *window;@property (nonatomic, retain) IBOutlet HelloUserViewController *viewController;@end
?

?

Delegata的实现:

HelloUserAppDelegate.m

////  HelloUserAppDelegate.m//  HelloUser////  Created by sin francis on 10-8-26.//  Copyright __MyCompanyName__ 2010. All rights reserved.//#import "HelloUserAppDelegate.h"#import "HelloUserViewController.h"#import "MyNewsViewController.h"@implementation HelloUserAppDelegate@synthesize window;@synthesize viewController;- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {            // Override point for customization after app launch        [window addSubview:viewController.view];    [window makeKeyAndVisible];		return YES;}- (void)dealloc {    [viewController release];    [window release];    [super dealloc];}@end
?

?

Controller的声明:

?

////  HelloUserViewController.h//  HelloUser////  Created by sin francis on 10-8-26.//  Copyright __MyCompanyName__ 2010. All rights reserved.//#import <UIKit/UIKit.h>@interface HelloUserViewController : UIViewController {	//链接到HelloUserViewController.xib 界面中的display label组件	IBOutlet UILabel *displayLable;		//链接到HelloUserViewController.xib 界面中的name Field组件	IBOutlet UITextField *nameField;		//链接到HelloUserViewController.xib 界面中的Button组件	IBOutlet UIButton *sayButton;		//注意:以上的只是引用,并未真实的链接到组件上去,那么就需要我们使用Interface Builder进行链接	//1. 使用Interface Builder打开HelloUserViewController.xib,打开HelloUserViewController.xib中View	//2. 右键单击 或者CTRL+左键单击 "File's Owner",可以在弹出的Outlet一栏中看见  	//displayLable nameField sayButton三个变量名称	//3. 分别拖动变量右边的空心圈连接至View界面上的组件即可	}//定义一个按钮事件接收器//如何链接此接收器到button上呢//1. 使用Interface Builder打开HelloUserViewController.xib,打开HelloUserViewController.xib中View//2. 右键单击 或者CTRL+左键单击 "File's Owner",在Received Actions一栏中可以看到sayHello的动作//3. 拖动sayHello右边的空心圈至View界面上的按钮即可//4. 实现你的sayHello方法吧-(IBAction) sayHello : (id) sender;@end

?

?

Contoller的实现:

?

////  HelloUserViewController.m//  HelloUser////  Created by sin francis on 10-8-26.//  Copyright __MyCompanyName__ 2010. All rights reserved.//#import "HelloUserViewController.h"@implementation HelloUserViewController/*// The designated initializer. Override to perform setup that is required before the view is loaded.- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {    if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {        // Custom initialization    }    return self;}*//*// Implement loadView to create a view hierarchy programmatically, without using a nib.- (void)loadView {}*//*// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.- (void)viewDidLoad {    [super viewDidLoad];}*//*// Override to allow orientations other than the default portrait orientation.- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {    // Return YES for supported orientations    return (interfaceOrientation == UIInterfaceOrientationPortrait);}*///sayHello的实现方法-(void) sayHello:(id)sender{	NSString *userName = nameField.text;	NSString *helomessage = [[NSString alloc] initWithFormat:@"Hello,%@",userName];	displayLable.text=helomessage;	[helomessage release];	nameField.text=NULL;}- (void)didReceiveMemoryWarning {	// Releases the view if it doesn't have a superview.    [super didReceiveMemoryWarning];		// Release any cached data, images, etc that aren't in use.}- (void)viewDidUnload {	// Release any retained subviews of the main view.	// e.g. self.myOutlet = nil;}- (void)dealloc {    [super dealloc];}@end

?

?

?实例代码下载:

?

?

1 楼 nj_first 2010-08-30  
lz涉足很广啊。用的是VM虚拟,还是买的apple电脑做开发?
2 楼 sinfrancis 2010-09-01  
nj_first 写道
lz涉足很广啊。用的是VM虚拟,还是买的apple电脑做开发?

我用的是笔记本,安装的mac系统而已。
3 楼 aitracy 2010-09-07  
sinfrancis 写道
nj_first 写道
lz涉足很广啊。用的是VM虚拟,还是买的apple电脑做开发?

我用的是笔记本,安装的mac系统而已。

求安装教程 
4 楼 wgl7385 2010-09-07  
aitracy 写道
sinfrancis 写道
nj_first 写道
lz涉足很广啊。用的是VM虚拟,还是买的apple电脑做开发?

我用的是笔记本,安装的mac系统而已。

求安装教程 

网上教程很多的,google以下
5 楼 sinfrancis 2010-09-08  
aitracy 写道
sinfrancis 写道
nj_first 写道
lz涉足很广啊。用的是VM虚拟,还是买的apple电脑做开发?

我用的是笔记本,安装的mac系统而已。

求安装教程 

安裝教程在我的博客裏面有的。
  相关解决方案