首先是创建一个IOS的一个工程。然后我们在类:Appdelegate.m这个类的实现文件中添加内容。就可以在运行出来结果中显示一个多姿多彩的画面。在我们添加任何内容之前,运行出来的结果是一个黑屏,这意味着我们需要往屏幕上添加内容。

首先在这个地方我们先设置背景颜色:

怎样来改变背景颜色,首先我们需要做的是:

第一步: 创建一个UIWindow对象

self.window=[[UIWindow alloc] init];//创建一个UIWindow对象并且初始化,可以认为是创建了一个容器,现在我们要做的就是往容器里面添加东西

//第二步是创建一个Screen对象:

//这个地方是初始化一个UIScreen的对象,这个对象的作用是

UIScreen *screen=[UIScreen mainScreen];//这个可以认为是创建了一个屏幕mainScreen是一个类方法,通过对象直接调用这个方法来创建 一个对象

//第三步是利用Screen的对象界限的来固定窗口的大小。

self.window.frame=screen.bounds;//窗口和屏幕是不一样的,窗口大小事故不固定的,但是说屏幕的bounds这个屏幕的界限就是固定的。也就是我们在这个地方时,其实这一步可以看做是对一个限制窗口的大小。

//第四步设置背景颜色:

[self.window setBackgroundColor[UIColor orangeColor]];

在设置好背景颜色之后我们有两个方法来设置有两个方法来添加控件,一个是直接的从Xcode上拉,还有一个是自己写方法往里面添加控件。在这个地方我们来介绍一下怎样通过写代码的方式往屏幕上添加控件。

//怎样来添加控件:

在这个地方我们 通过向屏幕上添加一个文本框来演示怎样想屏幕上添加控件

第一步:创建控件的变量,其实也是定义类的对象

@property(nonamatic,strong)UITextField *txtNum1;

尽管我们创建了一个对象,但是我们并没有为对象赋值。

第二步是为对象进行初始化:

self.txtNum1=[[UITextField alloc] init];

第三步是确定控件的位置:

self.txtNum1.frame=CGRectMake(10,100,30,21);

在确定控件的位置的时候我们使用的到的一个函数是CGRect()在小括号里面是四个参数,分别表示的是横,纵,坐标,以及

边框的大小。

第四步是为文本框设置边框的大小,或者说是边框线的粗程度。

self.txtNum1.layerborderWith=1;

第五步是:向屏幕上添加控件

[self.window addSubview:self txtNum1];

这样就完成的向屏幕上添加一个控件。

当然这样是非常的简单的,我们很容易机会可以做到,有的时候我们需要做的是屏幕上的控件添加事件,当点击屏幕上的恐控件的时候可以做出一些反应。当我们开始输入的时候,控制台打印“你好”

[ _txtNum1 addTarget:self action:@selector(fun) forControlEvents:UIControlEventEditingDidBegin];

括号里面的fun是我们当事件发生的时候我们要调用的函数。

-(void)fun

{

NSLog(@"你好");

}

OC中简单的界面设置相关推荐

  1. OC中的NSArray和NSMutableArray、NSDictionary和NSMutableDictionary用法

    一:NSArray 和NSMutableArray 1: NSArray:不可变数组 NSArray是OC中使用的数组,只能用来存放OC对象,不能存放非OC对象如基本数据类型 它使不可变的,一旦初始化 ...

  2. iOS开发几年了,你清楚OC中的这些东西么!!!?

    iOS开发几年了,你清楚OC中的这些东西么!!!? 前言 几年前笔者是使用Objective-C进行iOS开发, 不过在两年前Apple发布swift的时候,就开始了swift的学习, 在swift1 ...

  3. oc 中随机数的用法(arc4random() 、random()、CCRANDOM_0_1()

    oc 中随机数的用法(arc4random() .random().CCRANDOM_0_1() 1).arc4random() 比较精确不需要生成随即种子 使用方法 : 通过arc4random() ...

  4. 编译时和运行时、OC中对象的动态编译机制

    编译时 编译时顾名思义就是正在编译的时候.那啥叫编译呢?就是编译器帮你把源代码翻译成机器能识别的代码.(当然只是一般意义上这么说,实际上可能只是翻译成某个中间状态的语言.比如Java只有JVM识别的字 ...

  5. OC中数组排序的3种方法

    总结OC中数组排序3种方法:sortedArrayUsingSelector:;sortedArrayUsingComparator:;sortedArrayUsingDescriptors: 大体上 ...

  6. 运用runtime与AOP实现oc中的kvo

    前言: oc中实现的kvo观察者模式比较呆板,不支持block,运用runtime机制将其进行实现. 详细实现步骤: 一:给NSObject添加分类(添加相应的添加观察者,删除观察者的方法),这样凡是 ...

  7. OC中给我们提供的一个技术:谓词(NSPredicate).note

    OC中给我们提供的一个技术:谓词(NSPredicate) OC中的谓词操作是针对于数组类型的,他就好比数据库中的查询操作,数据源就是数组,这样的好处是我们不需要编写很多代码就可以去操作数组,同时也起 ...

  8. OC中Runtime浅析

    近期了解了一下OC的Runtime,真的是OC中非常强大的一个机制,看起来比較底层,但事实上能够有非常多活用的方式. 什么是Runtime 我们尽管是用Objective-C写的代码,事实上在运行过程 ...

  9. OC中栈区与堆区的内存概念解析

    栈区是先进后出,队列是先进先出. 栈区就相当于玻璃杯,往玻璃杯里放奥利奥,第一块放入的奥利奥,肯定是最后一个拿出来. 队列就相当于掉了底的玻璃杯,最先放入的,必定最先掉出来. 网上有个更绝的比喻:队列 ...

最新文章

  1. 链表问题11——两个单链表相交的系列问题(二):找到两个无环链表的交点
  2. 会计期间变式OB52
  3. CSS3之计算长度值------calc()
  4. Angular jasmine单元测试框架里describe的实现原理
  5. linux lua socket编程,CentOs 安装lua,luasocket
  6. matlab fftshift_数字信号处理没有Matlab?用Python一样很爽
  7. LeetCode 76. 最小覆盖子串(滑动窗口)
  8. 孩子从全班倒数第一到第二名,这位妈妈只做了这1件事!
  9. 【linux】linux一次杀死多个进程
  10. Redis 和 Memcached的对比
  11. 基于单片机的功放protues_音响放大器proteus仿真
  12. TypeScript Property ‘XXX‘ does not exist on type ‘never‘
  13. 烂笔头也需要常翻出来用用啊
  14. svn认证失败两种解决方案(个人原创)
  15. android fragment实现翻书效果,viewpager实现翻页效果(fragment)
  16. 【牛客网面经整理】阿里面经
  17. ppi转以太网连接西门子smart/200PLC连接软件配置方法
  18. 如何设置卫星系统和频点
  19. 【blender建模功能】00 编辑模式点线面与统计信息拓展
  20. 关于script标签在HTML页面放置的位置

热门文章

  1. 從明天起做個幸福的人...
  2. 并发编程中的大坑:你的直觉有序性问题
  3. 100G内存下,MySQL查询200G大表会OOM么?
  4. 16个概念带你入门 Kubernetes
  5. 沙盒化容器:是容器还是虚拟机
  6. 监控告警满飞天,Netflix 运维如何做到在家睡到自然醒...
  7. 面试高频题:Spring和SpringMvc父子容器你能说清楚吗
  8. 百度程序员发现自己一直无私帮助的女下属其男友在背后教她利用自己完成工作!自己却为了帮她天天加班,冷落自己老婆。...
  9. 关于MySQL线程池,这也许是目前最全面的实用帖!
  10. 离开大公司,我才发现世界多残酷