`

一个简单的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

 

 

 实例代码下载:

 

 

分享到:
评论
5 楼 sinfrancis 2010-09-08  
aitracy 写道
sinfrancis 写道
nj_first 写道
lz涉足很广啊。用的是VM虚拟,还是买的apple电脑做开发?

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

求安装教程 

安裝教程在我的博客裏面有的。
4 楼 wgl7385 2010-09-07  
aitracy 写道
sinfrancis 写道
nj_first 写道
lz涉足很广啊。用的是VM虚拟,还是买的apple电脑做开发?

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

求安装教程 

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

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

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

我用的是笔记本,安装的mac系统而已。
1 楼 nj_first 2010-08-30  
lz涉足很广啊。用的是VM虚拟,还是买的apple电脑做开发?

相关推荐

    一个iPhone项目的源代码

    这个压缩包文件包含了一个完整的iPhone项目源代码,涵盖了多个功能模块,如电子书(epub)阅读、PDF处理、微型条形码(microbar)生成、视频播放以及音乐播放,并且支持网页浏览(webview)。接下来,我们将深入探讨这些...

    ios应用源码之一些iphone开源项目代码iphone-tris 2018127

    标题中的“ios应用源码之一些iphone开源项目代码iphone-tris 2018127”表明这是一个关于iOS应用程序的开源源代码项目,具体来说是针对iPhone平台的。这个项目名为“iphone-tris”,可能是一个游戏应用,因为“tris”...

    ios应用源码之一些iphone开源项目代码unicode 2018127

    "ios应用源码之一些iphone开源项目代码unicode 2018127"这个压缩包很可能包含了2018年12月7日之前的一些针对iPhone平台的iOS应用源代码,其中特别提到了“unicode”,这表明这些项目可能涉及到Unicode字符集的处理和...

    IOS应用源码——一些iPhone开源项目代码iphone-tris.rar

    "IOS应用源码——一些iPhone开源项目代码iphone-tris.rar"这个压缩包很可能是包含了一个或多个iPhone应用的源代码,特别是名为"iphone-tris"的项目。这个项目的名称暗示它可能是一个基于iOS平台的三消游戏,因为...

    一些iPhone项目的demo,项目源代码_iPhone.zip

    一些iPhone项目的demo,项目源代码_iPhone

    IOS应用源码——一些iPhone开源项目代码ImagePickerDemo.zip

    本文将深入探讨基于iPhone的开源项目"ImagePickerDemo",它是一个用于展示如何在iOS应用中实现图片选择器功能的示例代码。通过研究这个项目,开发者可以了解到如何在iOS应用中集成自定义的图片选择器,以及相关的...

    ios应用源码之一些iphone开源项目代码splashdemo 2018127

    "ios应用源码之一些iphone开源项目代码splashdemo 2018127"这个压缩包很可能包含了2018年12月7日某个开发者分享的关于iOS应用启动界面(Splash Screen)的示例代码。以下将详细介绍相关的iOS开发知识点: 1. **启动...

    IOS应用源码——一些iPhone开源项目代码iphone-tris.zip

    标题中的"iPhone开源项目代码iphone-tris.zip"指的是一个包含iOS应用源码的压缩包,这个项目可能是一个基于iPhone平台的游戏,因为“tris”通常与经典的井字游戏(Tic-Tac-Toe)相关。下面我们将详细探讨iOS应用开发...

    iPhone 游戏 源代码 四

    在本资源中,标题"iPhone 游戏 源代码 四"暗示了这是一个关于iPhone游戏开发的项目,其中包含了源代码。这可能是某个开发者或团队分享的一个游戏项目的第四部分,旨在帮助其他开发者学习和理解iOS游戏开发的技术细节...

    iPhone 游戏 源代码 一

    《深入探索iPhone游戏源代码...深入研究这些源代码,不仅能够学习到如何构建一个完整的iPhone游戏,还能了解游戏开发中的最佳实践和性能优化技巧。这对于想要从事iOS游戏开发的程序员来说,是一份极其宝贵的参考资料。

    iphone音乐播放器代码

    本项目名为“iPhone音乐播放器代码”,其核心是实现一个能够在iPhone设备上运行的音乐播放应用,让用户能够播放、管理和享受他们的音乐收藏。 【描述】:“iPhone音乐播放器的一个代码” 这个描述简洁明了,表明这...

    IOS应用源码——一些iPhone开源项目代码SplashDemo.zip

    本文将深入剖析一个名为"SplashDemo"的iOS开源项目,帮助读者理解iOS应用的开发流程和关键技术。 首先,"SplashDemo"项目是一个典型的iOS启动界面(Splash Screen)实现示例。启动界面是用户打开应用时最先看到的...

    iPhone 游戏 源代码 六

    标题 "iPhone 游戏 源代码 六" 提供了一个关键信息,即这是一个关于iPhone游戏开发的资源,特别地,这是系列中的第六部分。这可能意味着它包含了一个连续学习或进阶教程的后续内容,适合已经有一定iOS游戏开发基础的...

    iPhone一个简单程序

    标题 "iPhone一个简单程序" 暗示我们将讨论关于如何在iOS平台上开发基础应用程序的知识。在iOS编程中,我们通常使用Swift或Objective-C这两种主要语言。这篇博客文章可能提供了使用其中一种语言创建简单iPhone应用的...

    IOS应用源码——一些iPhone开源项目代码iflickr.zip

    标题中的“iOS应用源码——一些iPhone开源项目代码iflickr.zip”是一个包含iOS应用源码的压缩包,主要针对的是iPhone平台。这个开源项目可能是一个模仿或基于Flickr(一个流行的图片分享平台)的应用程序,让我们有...

    空间说说由iPhone发表,Java源代码

    文件名称列表中只有一个条目:“空间说说由iPhone发表,Java源代码”,这可能是项目的主要源代码文件或者包含所有源代码的文件夹。通常,Java项目会有一个主类作为入口点,负责启动程序并调度其他类的功能。其他的...

    ios iphone app 源代码,HelloWorld样例

    这个"ios iphone app 源代码,HelloWorld样例"是一个非常适合初学者的资源,它能帮助你理解iOS应用的基础架构和基本编程概念。 在iOS开发中,我们主要使用Swift语言,这是一种由Apple推出的强大且易学的编程语言。...

    一些iPhone开源项目代码HP Calculator Emulator for the iPhone 1.0.rar

    本压缩包"一些iPhone开源项目代码HP Calculator Emulator for the iPhone 1.0.rar"提供了一个iOS应用的源码,特别是一个HP计算器的模拟器,这为我们提供了深入研究iOS应用开发的宝贵机会。 首先,我们要了解HP ...

    iPhone 游戏 源代码 二

    在本资源中,标题为“iPhone 游戏 源代码 二”,这表明我们讨论的是一个关于iOS平台上游戏开发的源代码项目。这个资源可能是某个开发者为了分享他的经验或帮助其他开发者学习游戏编程而公开的。描述简单明了:“分享...

Global site tag (gtag.js) - Google Analytics