文档章节

IPhone开发入门

 叁寸木槿
发布于 2015/05/07 15:33
字数 431
阅读 3
收藏 0

#import "AppDelegate.h"


@interface AppDelegate ()

{


    NSTimer *timer;

    

    

    UILabel *label;

}

@end


@implementation AppDelegate



- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

    

    //创建窗口

    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

    [self.window setBackgroundColor:[UIColor whiteColor]];

    

    [self.window makeKeyAndVisible];

    

    

    //创建视图

    UIView *view = [[UIView alloc] initWithFrame:self.window.frame];

    

    view.backgroundColor = [UIColor orangeColor];

    

    [self.window addSubview:view];

    

    

    

    label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, 100, 50)];

    

    label.text = @"100";

    

    label.textAlignment = NSTextAlignmentCenter;

    

    label.backgroundColor = [UIColor redColor];

    

    [view addSubview:label];

    

    

    

    UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeCustom];

    

    [btn1 setFrame:CGRectMake(100, 200, 100, 50)];

    

    [btn1 setTitle:@"开始计时" forState:UIControlStateNormal];

    

    [btn1 addTarget:self action:@selector(btnAction1) forControlEvents:UIControlEventTouchUpInside];

    

    [view addSubview:btn1];

    

    

    

    UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeCustom];

    

    [btn2 setFrame:CGRectMake(100, 300, 100, 50)];

    

    [btn2 setTitle:@"停止计时" forState:UIControlStateNormal];

    

    [btn2 addTarget:self action:@selector(btnAction2) forControlEvents:UIControlEventTouchUpInside];

    

    [view addSubview:btn2];


    

    UIButton *btn3 = [UIButton buttonWithType:UIButtonTypeCustom];

    

    [btn3 setFrame:CGRectMake(100, 400, 100, 50)];

    

    [btn3 setTitle:@"计时复位" forState:UIControlStateNormal];

    

    [btn3 addTarget:self action:@selector(btnAction3) forControlEvents:UIControlEventTouchUpInside];

    

    [view addSubview:btn3];

    

    

    return YES;

}


-(void)btnAction1{


    timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerAction:) userInfo:nil repeats:YES];


}


-(void)btnAction2{

    

    [timer invalidate];

    

    timer = nil;

    

}


-(void)btnAction3{

    

    label.text = @"100";

    

    [self btnAction2];

    

    [self btnAction1];

    

}


-(void)timerAction:(NSTimer *)timer{


    

    NSString *timeStr = label.text;

    

    NSInteger i = [timeStr integerValue] -1;

    

    timeStr = [NSString stringWithFormat:@"%ld",i];

    

    NSLog(@"%@",timeStr);


    label.text = timeStr;



}







- (void)applicationWillResignActive:(UIApplication *)application {

    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.

    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.

}


- (void)applicationDidEnterBackground:(UIApplication *)application {

    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.

    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.

}


- (void)applicationWillEnterForeground:(UIApplication *)application {

    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.

}


- (void)applicationDidBecomeActive:(UIApplication *)application {

    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.

}


- (void)applicationWillTerminate:(UIApplication *)application {

    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.

}


@end


© 著作权归作者所有

粉丝 0
博文 3
码字总数 1223
作品 0
济南
程序员
私信 提问
【兼职】源智天下招Android和iPhone开发工程师

招聘Android开发作者6名,兼职,同时我们还招聘iphone开发程序员5名, 及Android和iphone游戏开发的作者各4名。条件如下: 1. 做Android/iphone开发1-2年,有过项目开发经验; 2. 文笔流畅,...

liuxia
2011/06/24
255
1
开发随笔-移动开发小结

最近一直在学习iphone,android,wp7的开发.截止到今天,基础的学习个人感觉算差不多了,当然也就是入门级别.在这里总结一下,同时为下个阶段的计划作个准备. 我最开始看的是android开发,原因是因...

晨曦之光
2012/03/08
226
0
10个优秀Objective-C和iOS开发在线视频教程

如果你自己开发iOS应用,你肯定会发现网上有很多资源。学习编程的一个最好的方法就是自己写代码,而开始写代码的最快的方式就是看其他人怎么写。我们从海量视频和学习网站中整理出了我们认为...

mingxun
2014/05/09
193
0
iPhone开发入门

首先我们得成为注册ADC会员,这个是免费的,并且可以获得很多开发资料。 http://developer.apple.com/iphone/program/start/register/ 上面是注册地址 iPhone 开发环境介绍 目前给iPhone开发...

红薯
2010/04/15
11.5K
17
Windows phone开发入门:技术资料索引库

2010年10月11日晚上9点30分,微软公司正式发布了智能手机操作系统Windows Phone,同时将谷歌的Android和苹果的IOS列为主要竞争对手。Windows Phone是微软发布的一款手机操作系统,它将微软旗...

庸人谷
2013/03/13
1K
3

没有更多内容

加载失败,请刷新页面

加载更多

刚哥谈架构 (二) 我眼中的架构师

之前在公司,有小伙伴在向别人介绍我的时候,经常会有人这么说:“刚哥是我们的architcture”,如果来人是老外,心中一定是一惊,心中暗叹,“这位匪首看上去貌不惊人,难道已经做到了架构和...

naughty
42分钟前
3
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
118
4
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
5
0
Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部