iOS得知1_初体验
UIView:父类的所有控件,所有的UIView它是一个容器。可容纳其他UIView
UIController:用于控制UIView,责创建/销毁自己的UIView,显示/隐藏UIView。处理UIView和用户交互(事件处理)
界面的创建过程,先创建一个ViewController,再由其创建自己的UIView,最后把UIView显示到用户眼前,而且由UIViewController处理UIView的事件。
程序的启动过程:
载入配置为main的storyboard,创建白色箭头仅仅想的控制器对象。接下来创建控制其内部的UIView,显示到用户面前。
构件界面的两种方式:
1. 使用storyboard
要使用某个控件须要在控制器文件里声明该属性,并将其和控件连线。而且须要将该属性声明为IBOutlet类型
加入事件监听的时候须要将该方法声明为IBAction,然后将控件的某个事件和该方法连线
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2F1Y2h5d2VpZXJzdHJhc3M=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
点击事件运行的方法
- (IBAction)run:(id)sender
{
[self execWithBlock:^{
CGRect tempFrame;
switch ([sender tag]) {
case 1:
tempFrame = self.btn.frame;
tempFrame.origin.y += 10;
self.btn.frame = tempFrame;
break;
case 2:
// 旋转
//tempCenter = self.btn.center;
_btn.transform = CGAffineTransformRotate(_btn.transform, -1*M_PI_4);
//self.btn.center = tempCenter;
break;
case 3:
// 放大
_btn.transform = CGAffineTransformScale(_btn.transform, 1.2, 1.2);
break;
case 4:
// 复位
self.btn.transform = CGAffineTransformIdentity;
break;
}
}];}
-(void) execWithBlock:(void(^)())block
{
// 设置动画
[UIView beginAnimations:nil context:nil];
//设置动画的时间
[UIView setAnimationDuration:1];
block();
[UIView commitAnimations];
}
2.使用代码动态生成
须要在viewDidLoad方法里面构建控件。并将其加入到父UIView里面
UIButton * btn = [[UIButton alloc]init];
btn.frame = CGRectMake(0, 0, 100, 100);
[btn setTitle:@"哈哈" forState:UIControlStateNormal];
[btn setTitle:@"呵呵" forState:UIControlStateHighlighted]; [btn setBackgroundColor:[UIColor redColor]];
[btn setBackgroundColor:[UIColor greenColor]]; [btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:btn];
-(void) click:(id)btn
{
[btn setBackgroundColor:[UIColor blackColor]];
}
采用storyboard并使用代码来创建界面是一样的效果。于storyboard在此之后的连接可以关联属性的控件和声明。
iOS得知1_初体验的更多相关文章
- iOS AR技术初体验,使用EasyAR示例程序的小白指南
QQ前两天的传递火炬,是我第一次直接接触到AR.(虽然之前听同事说过,因为他喜欢玩游戏,PS.3DS等等都玩过,这个技术最开始就是从这里出现的).所以感觉很有趣,就想自己也试着搞一下玩玩...下面是我 ...
- IOS - socket 编程初体验
#import "ViewController.h" @interface ViewController () <NSStreamDelegate, UITextFieldD ...
- Xamarin.iOS开发初体验
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0
- IOS开发初体验
IOS开发初体验 搭建开发环境 不多说什么了,开发环境的搭建太简单了,上App Store搜索XCode下载就行了,说多了都是眼泪 创建第一个IOS项目--HolleIOS 创建工程 选择工程创建位置 ...
- Java高级特性1_流库_初体验
Java高级特性流库_初体验 面对结果编程 在编程里, 有两种编程方式, 一种是面对过程编程, 一种是面对结果编程. 两者区别如下 面向过程编程 面向过程编程需要编程程序让程序依次执行得到自己想要的结 ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- 【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d13a57132ff21c38110186 导语 最近这几年的前端圈子,由于 ...
- iOS7初体验(3)——图像资源Images Assets
开始之前,首先回顾一下iOS7初体验(1)——第一个应用程序HelloWorld中的一张图,如下所示: 本文便分享一下Images.xcassets的体验~_~ 1. 打开此前使用过的HelloWor ...
- iOS7初体验(1)——第一个应用程序HelloWorld
iOS7 Beta已经发布了,迫不及待地下载了iOS 7及Xcode 5并体验了一下.先做一个简单的Hello World看看都有哪些变化吧. 1. 启动Xcode5-DP: 2. 从菜单选择File ...
随机推荐
- 基于visual Studio2013解决C语言竞赛题之1087数字变换
题目 解决代码及点评 /************************************************************************/ /* ...
- error -27257: Pending web_reg_save_param/reg_find/create_html_param[_ex] request(s) detected and reset at the end of iteration number 1
检查点函数 web_reg_find("Search=body", "savecount=num", "Text=test1&quo ...
- 性能测试之LoardRunner 结果分析
性能结果分析是性能测试中的重中之重,也是难点所在,以下总结了看图的一些顺序: 1.首先可以检查Analysis模块提供的Summary Report,整个测试过程中我们所关心的各业务 2.首先关注性能 ...
- Swift - 多线程实现方式(2) - NSOperation和NSOperationQueue
1,Swift继续使用Object-C原有的一套线程,包括三种多线程编程技术: (1)NSThread (2)Cocoa NSOperation(NSOperation和NSOperationQueu ...
- webdynpro MESSGAE
1. 添加辅助类CL_WDR_DEMO_MESSAGES 环境,设计的控件有:输入控件,按钮,每个按钮对应一个事件.分别是下面,然后报消息 TEXT: SUCCESS: method ONACTIO ...
- java实现点卡生成
点卡主要有2部分:卡号和密码.卡号一般由数字组成,密码就不多说了. java中随机数很强大,大家可以自己查.卡号生成使用java中随机数,密码使用uuid,密码可以自己再加点东西之类的.下面是完整代码 ...
- C嵌入汇编
概述:linux内核源码中,有很多C语言中嵌入了汇编语句,如何理解这些汇编语句,对理解内核有很重要的作用. 具有输入和输出参数的嵌入式汇编语句的基本格式为: asm("汇编语句" ...
- MySQL :: MySQL 5.0 Reference Manual :: 14.4 The MEMORY (HEAP) Storage Engine
MySQL :: MySQL 5.0 Reference Manual :: 14.4 The MEMORY (HEAP) Storage Engine The MEMORY (HEAP) Stora ...
- Data Recovery Advisor(数据恢复顾问)
Data Recovery Advisor 是11g新特性,是Oracle顾问程序架构的一部分,它会在遇到错误时自动收集有关故障信息.如果主动运行Data Recovery Advisor,通常可以在 ...
- POJ1422 最小路径覆盖入门
题意:DAG求最小路径覆盖. 注意:二分匹配只试用于求DAG的最小路径覆盖, 有环就不行,具体可以理解证明. 对n个点进行拆点,分成左右两排点,对于边<u, v> 建 <u', v ...