天天看点

IOS开发之视图和视图控制器

IOS开发之视图和视图控制器

  2.在学习uiview之前我们先在我们的emptyproject中添加一个视图,看一下效果,上面的代码是为我们的emptyproject添加一个uiwindow,是系统为我们创建的,我们接下来要放置的uiiview都是放在window中,一般每个应用都只有一个window,当然有的游戏会有多个应用窗口。下面的一段代码是往我们window上添加一个主视图,通过cgrectmake来给我们新添的view定位。 cgrectmake(x, y, width, height);  配置背景颜色为greencolor,最后添加到我们的window上。

IOS开发之视图和视图控制器

  3.界面都是视图对象,即在uiview类的实例中进行布局,uiview表示屏幕上的一块矩形区域,负责渲染矩形区域中的内容,并且响应该区域内发生的触摸事件。我们还可以把视图看做是一个视图容器,视图上面还可以添加一个子视图。往父视图中添加的subview会被放在一个数组中。往我们superview中添加的subview的坐标和index都是相对于我们的父视图来配置的。我们为上面的视图在添加一个subview,代码如下:

IOS开发之视图和视图控制器

  运行效果如下:

IOS开发之视图和视图控制器

  下面是ios提供的一些管理子视图的方法,常用方法如下:

  (1) initwithframe : 通过frame初始化视图,参数为cgrectmake(x, y, width, height);

  (2) insertsubview: atindex: 往指定层上插入视图,哪个view调用该方法,index就是相对于谁。

  (3) insertsubview: abovesubview: 在某个视图上插入子视图。

  (4) insertsubview: belowsubview: 在某个子视图的后面添加一个新的视图

  (5) bringsubviewtofront: 把子视图放到最前

  (6) sendsubviewtoback: 把子视图放到最后

  (7) exchangesubviewatindex: withsubviewatindex: 交换两个视图的前后顺序

  (8) removefromsuperview: 从父视图中移除view

  (9) -(void) addsubview: (uiview *) view 添加一个视图

IOS开发之视图和视图控制器

<a href="http://www.51testing.com/batch.download.php?aid=49469" target="_blank"></a>

IOS开发之视图和视图控制器

  2.控件

  控件用于创建大多数应用程序的用户界面。控件是一种特殊类型的视图,继承子uicontrol超类,通常要绑定回调方法(比如target-action回调和委托回调),用于用户交互。控件包括按键,文本框,滑块,和切换开关。部分控件如下所示:

IOS开发之视图和视图控制器
IOS开发之视图和视图控制器

  4.文本和web视图

  文本和web视图为应用程序提供更为高级的显示多行文本的方法。uitextview类支持在滚动区域内显示和编辑多行文本;而uiwebview类则提供显示html内容的方法

IOS开发之视图和视图控制器

  5.警告视图和动作表单

  警告视图和动作表单用于即刻取得用户的注意。 uialertview类在屏幕上弹出一个蓝色的警告框,而uiactionsheet类则从屏幕的底部划出动作框

IOS开发之视图和视图控制器

<a href="http://www.51testing.com/batch.download.php?aid=49473" target="_blank"></a>

IOS开发之视图和视图控制器

  上面视图部分先就说这么多吧,那么我们的视图控制器应如何使用呢? 在本文刚开始的时候我们加入的view的代码都是在appdelegate.m的文件里加的,其实没没那么做的,如果我们一直在上面的文件中实例化我们的各种控件,我们的应用程序代码会非常难维护。那么我们如何给一个emptyproject添加一个视图控制器呢?上面贴啦这么的多的图片啦,接下来让我们上点代码吧!

  1.我们在一个空工程中新建一个视图控制器的类mainviewcontroller, 让mainviewcontroller继承于uiviewcontroller, mainviewcontroller.h文件的内容如下:

  #import &lt;uikit/uikit.h&gt;

  @interface mainviewcontroller : uiviewcontroller

  @end

  2.我们在mainviewcontroller.m中进行我们的视图声明和实例化,代码如下:

#import "mainviewcontroller.h"

//用延展隐藏我们的组件

@interface mainviewcontroller ()

@property (nonatomic, strong) uiview *subview;

@end

//-------实现部分-----------

@implementation mainviewcontroller

//主视图加载后要做的事情

-(void)viewdidload

{

//实例化view并添加到mainview

self.subview = [[uiview alloc] initwithframe:cgrectmake(50, 50, 100, 150)];

self.subview.backgroundcolor = [uicolor browncolor];

[self.view addsubview:self.subview];

}

  3.我们需要把我们新建的视图控制器和我们的窗口关联,在appdelegate.m中实例化mainviewcontroller并添加到window中,代码如下:

  - (bool)application:(uiapplication *)application didfinishlaunchingwithoptions:(nsdictionary *)launchoptions

  {

  self.window = [[uiwindow alloc] initwithframe:[[uiscreen mainscreen] bounds]];

  // override point for customization after application launch.

  self.window.backgroundcolor = [uicolor whitecolor];

  [self.window makekeyandvisible];

  //实例化mainviewcontroller,并添加到window

  mainviewcontroller * mianviewcontroller = [[mainviewcontroller alloc] init];

  [self.window addsubview:mianviewcontroller.view];

  return yes;

  }

  先暂且这么理解着视图和视图控制器,随着以后的深入的学习会随时更新和修改博客的。

最新内容请见作者的github页:http://qaseven.github.io/