窗口内容属性调整
在前面章节我们看到了诸如方向改变、大小和位置改变所带来的变化。光是这样的定义是不能满足你的实际应用程序的需求的,所以我们应该让我们设计在主页面内的内容变化更加智能的适应窗口的变化。
我们来到设计主页面(Interface Builder)选择View窗口中的Label标签,在菜单栏选择Tools→Size Inspector。可以看到出现了Label Size窗口,我们选中的是Hello World的Label标签,我们可以看到在Autosizing窗口中间有些小箭头,点击这里面的那些虚线,变成实线了就表明到那个边恒定不改变。这里大家实践一下就明白了。so easy,妈妈再也不用担心我学习ipad了。
这里我们选择外框顶部和内框内的实线,让Label标签恒定大小,自动适配在主页面中的位置保持在中心
以此类推,讲文字输入标签和按钮标签都做响应的调整
调整完后,我们可以保存再看看调整的效果,在你翻动模拟器屏幕的时候,就可以看到变化了。
你也可以通过在View窗口右上角的箭头进行方向改变,看看效果
我们开始对按钮标签弄一些代码,看看效果,最简单的代码就是alert响应了吧。我们试试弹出alert窗口代码。
首先我们打开HelloWorldViewController.xib窗口,在里面我们能看到有3个组建:File's Owner,first Responder,和View。我们按住Ctrl再点击我们的Click me按钮,拉动它到File's Owner组建,这个时候会弹出一个选项包含btnClicked:action显示,选择action。这时但我们点击Click Me按钮时这个动作就被激活了。
打开HelloWorldViewController.h文件,在这个位置添加如下代码:
#import <UIKit/UIKit.h>
@interface HelloWorldViewController : UIViewController {
}
-(IBAction) btnClicked:(id) sender;
@end
再打开HelloWorldViewController.m文件,在这个位置添加如下代码:
#import “HelloWorldViewController.h”
@implementation HelloWorldViewController
-(IBAction) btnClicked:(id) sender {
//---display an alert view---
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@“HelloWorld!” message:@“iPad, here I come!” delegate:self cancelButtonTitle:@“OK” otherButtonTitles:nil];
[alert show];
[alert release];
}
好,保存,run,我们就可以看到当我们点击Click Me按钮时会弹出对话框“iPad,here I come!”
最后我们来更改一下我们的应用程序图标
我们现在的程序图标还是一个白色的小图片,怎么样更改呢?首先我们要知道iPad的图标像素大小,有两种:72*72和48*48pixels大一点的用于主页面,小一点的用户系统菜单,如:
这是程序图标,我们看system图标,这是72*72的
这是程序内部的图标,48*48的
把一个你改好的大小的图标拉到Interface Builder窗口左边的Resources文件夹内,它会问你是否做图像拷贝,yes。ADD一个图标。
选择这个图标文件,修改它的名称值为:app-icon.png,这个名字将会使这个图标被默认为是应用程序图标。
good,到这里我们的Hellow World程序就完成了!是不是很简单?
iPhone SDK 4是一个完全面对像设计的开发工具(IDE),我们要做的就是打好基础,熟悉语法,好开始
前言:了解构建iPad程序主干:
我们构建的iPad应用程序都包含一些关键的组建:
mian()函数(始终使用)。每一个基于C的程序都需要用到main()函数。对于iPhone和iPad程序而言,此函数主要用于内存管理及应用程序事件的循环。
applicationDidFinishLaunching:方法(经常使用)。这个方法是程序中出发的第一个方法,在其中创建基本窗口、设定内容并指定他作为应用程序的关键响应者。
applicationWillTerminate:方法(经常使用)。这个方法支持在将控制交会SpringBoard之前,处理任何状态最终化。用来保存默认值、更新数据以及关闭文件。
loadView方法(始终使用)。强制的这个方法讲设置屏幕并布局任何子视图。
shouldAutorotateToInterfaceOrientation:方法(经常使用)。自动屏幕适配,就是横竖都可以看!
1.开始我们的第一个Hello World!程序
创建一个新的iPad 项目(上一节我们已经知道怎么建立新项目了,讲项目名称保存为Hello World)
Xcode将会自动生成一个项目,你可以看到很多文件和文件夹,对,这就是你的项目
这个图会看吧,左边文件夹列表,右边每个文件夹所包含的文件,双击可Edit!呵呵!
习惯使用Interface Builder
这个项目还没有界面。我们来搞定它,按Command-R(windows+R)或者在菜单栏里面选择Run→Run,你会看到一个运行成功的模拟器(白板一个)。
呵呵,就算我们什么也不写,程序的框架已经行程可以在模拟器中运行和显示,你可以看到模拟器中的界面有了我们的新程序Hello World。如果这样的白板程序也能放在Appstore里面卖钱就好了,取个名字叫“白炽灯程序”晚上可以当台灯或者荧光灯。
不过这样没用的程序还是不要了,我们来做点什么让这个程序变的丰满些吧。
在我们项目的文件列表中我们可以注意到两个.xib文件,——MainWindow.xib和HelloWorldViewController.xib这两个文件,xib文件是定义一个应用的XMl文件基础。我们能够很容易的通过InterfaceBuilder编辑它。在这里我们要做的工作就是拖来拖去就搞定了。
双击这个HelloWorldViewController.xib文件,将显示出一个运行效果和一些可视化图层窗口。里面有很多傻瓜插件,直接拉过去就可以组成很PP的页面,这里先不忙着做,我们还是完成了我们的Hello World都。
在基础模式(Landscape mode)中,显示view窗口(点击右上角的箭头可以改变View窗口的方向,这个就是我们把iPad横放竖放一个道理),选择Library窗口,(可将列表模式改为图标平铺模式)往下找到Label对象,拉动Label到View窗口。
我们看到了View窗口中有了一个Label标签被添加进去了,我们选择菜单栏的Tools→Attributes Inspector。输入Hello World!。
在用快捷键Command-T打开文字编辑窗口,对文字属性进行微调。
再回到Library窗口,添加一个Text Field(文字输入按钮)和一个Round Rect Button(事件反馈按钮)按钮上输入文字Click Me!小贱一下。
好,我们保存。Command-S,现在回到Xcode窗口,运行这个程序Commond-R。我们就看到了我们所修改了界面的Hello World iPad程序。
用鼠标点击文字输入栏,看看触摸键盘是否弹出
再点击Home button(你不要给我说你不晓得什么叫Home button哈,就是Ipad上的唯一按钮那个方块块)你可以看到我们的程序还在模拟iPad的主页面上。点击一下程序图标,我们又回到了程序里面,简单。
注意:在任何时候iPad都只能运行一个程序(除了一些内建的苹果应用,比如我们可以一边开ipod听歌一边看ibook)。因此在我们点击Home botton的时候我们的程序就完全终止,点击再开始。
如果这样就写完我们的Hello World程序十分太简单了?那我们来升级一下
改变我们屏幕的方向
我们的iPad模拟器也是可以改变方向的,如果要改变方向我们可以按Commond-→或者Commond-←进行方向调整。刚才是横的,现在我们改变成竖的
当我们改变方向的时候,我们的程序会自动保持垂直方向。这段代码可实现这项功能:
在Xcode里面找到HellowWorldViewController.m文件,在窗口下方的代码行里找到
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)
interfaceOrientation {
return YES;
}
我们看到要求返回值是YES,这就表示我们的程序会自动根据方向改变保持垂直方向。
我们这样修改这段代码:
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)
interfaceOrientation {
//return YES;
return (interfaceOrientation==UIInterfaceOrientationPortrait ||
interfaceOrientation==UIInterfaceOrientationLandscapeLeft);
}
这个代码将在iPad向左转动90°后没有变化。在这段代码中组后部分。。Left可以改为Right,这样向右转动90°的效果一样。呵呵!
这个应用应该是iPad或者iPhone也好,最重要的一个应用了。基本上所有的程序都会涉及到,如果弄的不好,你的程序可不好看哦!易用性不强哦!卖的就不好哦!
下一讲:界面内容的定位,以及事件的反馈
2010年8月8日 晴 重庆的气温不算高
小力(小丽)今天老爸开始给你讲中国历史了哦,其实就是成语故事,哈哈,按照年代开始讲,今天讲了什么?女娲补天、夸父追日、大禹治水、三过家门而不入、完璧归赵、负荆请罪、宁为玉碎不为瓦全、胯下之辱、成也萧何败也萧何、破釜沉舟、霸王别姬、明修栈道暗渡陈仓……这些人物你记得住吗?明天我们来讲汉朝的故事。
昨天你小宝叔叔带起他们的幺儿来看你了,不晓得你们两个小BB有没有相互感应,你们分别在你们妈妈肚子里估计可以打个电话什么的联络一下感情。希望你们以后成为好朋友!
明天你妈妈要带你去检查,明天老爸会很忙,所以只有下午才能来陪你们俩娘了,抱歉了,外婆陪你妈妈去,谢谢你的蛋蛋阿姨,早上专车来接送你们!
老爸今天开始了一门新的学习,和准老爸日记一起发送……希望能在你出生前完成这两本“大作”。

我是一个超级苹果迷+老乔的fans和Google的簇拥,一切新奇的事物我都好奇,摄影、运动、旅游、读书、电影、游戏都是我的爱好,荒淫大家给我留言,发邮件,请我吃饭、带我旅游(也不要忘记了我的领导同志!)……
最近留言