objective-III 窗口应用程序
objective-III
return UIApplicationMain(argc, argv, nil,NSStringFromClass([AppDelegateclass]));//直接跳转到AppDelegate类,因此我们一般在AppDelegate中进行设计
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindowalloc] initWithFrame:[[UIScreenmainScreen] bounds]]autorelease];//当前窗口的大小
// Override point for customization after application launch.
self.window.backgroundColor = [UIColorwhiteColor];//当前窗口的颜色
// self.window.backgroundColor=[UIColor yellowColor];
FirstViewController *first=[[FirstViewControlleralloc]init];//创建一个窗口对象
self.window.rootViewController=first;//将创建好的first页面作为第一视图进行展示
[self.windowmakeKeyAndVisible];//显示窗口
returnYES;
}
- (void)viewDidLoad//当前页面加载的时候调用的方法。
{//一般写组建的创建和属性、变量的初始化
[superviewDidLoad];
//用代码的形式创建组件
//1、实例化一个对象
UILabel *la=[[UILabelalloc]init];
//2、设置组件的相关属性 [整个页面的坐标系从左上角开始(往下x增大,往右x增大)]
la.frame=CGRectMake(20,30, 280, 50);//坐标和组件的大小四个参数值分别为:x值,y值,组件宽度,组件高度
la.text=@"滨州学院内部系统";//标签要显示的内容
la.textAlignment=NSTextAlignmentCenter;//居中对齐
la.backgroundColor=[UIColorclearColor];//背景颜色为透明色
la.textColor=[UIColorredColor];//字体颜色
];//字体大小
//3、将这个组件加载到当前视图
[self.viewaddSubview:la];
// Do any additional setup after loading the view from its nib.
}
//-(void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event//点击屏幕取消时调用的方法,即当你正在点击屏幕,此时来电话了所触发的方法
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event//点击屏幕时触发的事件
{
UITouch *t=[touches anyObject];//得到点击屏幕的位置
if (![t.viewisMemberOfClass:[UITextFieldclass]]) {//t.view isMemberOfClass:]判断点击的对象是不是输入框 UITextField class:不是输入框
//如果点击的组件不是输入框,就让键盘退下去
[self.uerNameresignFirstResponder];//取消掉userName的第一相应者(就是让userName组件失去焦点,不再屏幕上作为第一焦点出现)
//resignFirstResponder:取消第一相应者(即焦点)
[self.passWordresignFirstResponder];//同上
}
}
II、实现页面跳转的效果
同样在.m文件中 代码如下
//登陆按钮的监听事件
- (IBAction)login:(id)sender {
//如果用户名为admin,密码为123则进行跳转,跳转到second页面
//self:当前对象 self.uerName.text:取得当前页面的名为uerName的输入框中的输入的字符
if ([self.uerName.textisEqualToString:@"admin"]&&[self.passWord.textisEqualToString:@"123"])
{
SecondViewController *second=[[SecondViewControlleralloc]init];//创建第二个页面
//设置页面跳转的动画效果
second.modalTransitionStyle=UIModalTransitionStyleCoverVertical;//设置页面跳转的动画效果
//modalTransitionStyle的值为一个枚举类型其值有如下四个:
// UIModalTransitionStyleCoverVertical = 0,//从下往上推送
// UIModalTransitionStyleFlipHorizontal,//翻转
// UIModalTransitionStyleCrossDissolve,//渐变
// UIModalTransitionStylePartialCurl,//半翻页
[selfpresentViewController:secondanimated:YEScompletion:nil];//second为将要跳转的页面 animated:是否要有动画效果 completion:传递的参数
}
}
四、提示框组件
在自定义的SecondViewController页面的.m文件中添加button按钮,然后设置单击监听事件,单击时弹出提示框
在SecondViewController自定义界面的.m文件中代码如下:
- (void)viewDidLoad
{
[superviewDidLoad];
//设置提示框组件
//第一步、创建一个圆角按钮
UIButton *but=[UIButtonbuttonWithType:UIButtonTypeRoundedRect];
//第二步、设置组件属性
[but setTitle:@"点击这里" forState:UIControlStateNormal];//在普通状态下得title
[but addTarget:selfaction:@selector(showAlert)forControlEvents:UIControlEventTouchUpInside];//添加监听事件
but.,, , );//坐标大小
//第三步将组件添加到当前视图上
[self.viewaddSubview:but];
// Do any additional setup after loading the view from its nib.
}
//弹出提示函数 与调用组件中的selector函数名必须保持一致
-(void)showAlert
{
//UIAlertView 为提示框类 创建一个提示框组件
UIAlertView *alert=[[UIAlertViewalloc]initWithTitle:@"提示"message:@"你太聪明了,都写对了" delegate:selfcancelButtonTitle:@"取消"otherButtonTitles:@"确定",nil];
[alert show];//弹出提示框
}
objective-III 窗口应用程序的更多相关文章
- 打开office时提示错误窗口“向程序发送命令时出现问题”的解决方案
今天同事问了我一件很怪异的事情,说她的office打不开了,如打开word或excel时,突然出现错误提示错误窗口"向程序发送命令时出现问题",分析原因才知道她安装了 AVG pc ...
- Microsoft Dynamics CRM4.0 JScript 过滤lookup 出现 Microsoft Dynamics CRM 窗口无法打开,可能已被弹出窗口阻止程序所阻止。
一.现象:JScript过滤lookup字段,选择lookup字段出现下图的情况: 出现:Microsoft Dynamics CRM 窗口无法打开,可能已被弹出窗口阻止程序所阻止.请将这台Micro ...
- 第一个Windows窗口应用程序
学习目的 熟悉开发工具Visual C++ 6.0和MSDN 2001的使用. 应用Windows API函数, 手工编写具有最基本构成的Windows窗口应用程序(包含WinMain入口函数, 消息 ...
- VC无窗口控制台程序
VC无窗口控制台程序 #pragma comment(linker,"/subsystem:\"Windows\" /entry:\"mainCRTStartu ...
- MFC程序的启动过程——先全局对象theApp(第一入口),后WinMain(真正入口),会引爆pApp->InitInstance从而创建窗口(程序员入口)
原文出自:http://blog.csdn.net/yuvmen/article/details/5877271 了解MFC程序的启动过程,对于初学者来讲,了学习MFC很有帮助:对于不常用VC的人来说 ...
- (二)Qt窗口应用程序Widget
QMainWindow,QWidget,QDialog,这三基类都可以作为顶层窗口 QWidget:是所有窗口类的父类,功能最简单 QMainWindow:如果窗口需要菜单栏,工具栏,状态栏,就需要Q ...
- C# 窗口和程序的退出
Application.Exit(); // 通知所有消息泵必须终止,并且在处理了消息以后关闭所有应用程序窗口. // 由 .NET Compact Framework 支持. Form.Close( ...
- Java学习笔记-13.创建窗口和程序片
1.init()方法:程序片第一次被创建,初次运行初始化程序片时调用. start()方法:每当程序片进入web浏览器中,并且允许程序片启动他的常规操作时调用(特殊的程序片被stop()关闭):同样在 ...
- Qt在Windows下如何创建无CMD窗口控制台程序
默认情况下,用Qt新建一个控制台程序,运行时会弹出CMD窗口.如何把窗口去掉呢? *.pro文件默认是这样的: TEMPLATE = app CONFIG += console CONFIG -= a ...
随机推荐
- 自己定义控件-GifView
一.描写叙述 显示Gif 的View 原理是用 MediaPlayer 实现的 二.源代码 https://github.com/mentor811/Demo_GifView [ 声明:版权全部,欢迎 ...
- hough变换中,直线方程从XY空间转换到参数空间的转换过程
XY空间直线方程:y=kx+b 参数空间直线方程:xcosθ+ysinθ=ρ 直线方程从XY空间转换到参数空间过程的转换过程: k=tan(π-α)=tan(-α)=-tanα=-cotθ=-cosθ ...
- C++之构造函数重载
#include<stdio.h> class Test { private: int i; int j; int k; ...
- GDI+ 对象释放崩溃的问题
确保在Gdiplus::GdiplusShutdown(m_gdiplusToken); 之前delete 掉GDI+的对象,例如:delete *pBitmap; 如果先Gdiplus::Gdipl ...
- phplib系统开发经验总结
数据库设计: 数据库的设计一定要在了解整个系统需求的情况下,把数据库设计,及ER图画出来,数据库字典也要及时把握,只有掌握了这些才能下手开始设计界面,后期如果有需要,可以在数据库中添加数据,但要及时更 ...
- php不同版本特性记录
最近在用php开发时项目中遇到了版本问题,特此记录下php不同版本的一些特性记录,以备忘. 一:php5.3中的新特性 1)开始支持命名空间(Namespace) 2)支持延迟静态绑定(Late St ...
- Linux 系统之Sysvinit
子贡问为仁.子曰:“工欲善其事,必先利其器.居是邦也,事其大夫之贤者,友其士之仁者.”——孔子(春秋)<论语·卫灵公> [工欲善其事,必先利其器] 掌握一门技术,知道其发展历程是非常重要的 ...
- ubutu下的几个命令
nginx重启命令 (ps:意为将nginx重启) /usr/local/nginx/sbin/nginx -s reload 给new目录权限设置为777 (ps:意思为将wwwroot/new目录 ...
- QT实现拖放文件(有例子,并且图文并茂,非常清楚)
转自:http://my.oschina.net/voler/blog/345722 目录[-] 0. 源代码下载地址 1. 简单文件拖放 2. 复杂文件拖放 3. 通过按钮来完成列表数据的转移 4. ...
- Spring Boot Memory Performance
The Performance Zone is brought to you in partnership with New Relic. Quickly learn how to use Docke ...