`

一个简单的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游戏开发的技术细节...

    JAVA上百实例源码以及开源项目源代码

    8个目标文件 简单 JavaScript万年历 显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 一个目标文件 摘要:Java源码,网络相关,浏览器 Java编写的HTML浏览器源代码,一个很简单甚至不算是...

    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 ...

Global site tag (gtag.js) - Google Analytics