Cocoa Touch(二):图形界面构建UIKit

代码构建UI

1、视图树模型

计算机图形实际上是一个视图树模型,每个视图都有一个本地坐标系。
每个本地坐标系的组成部分是:原点在父坐标系中的位置,每个基在父坐标系中的位置,由此就可以根据向量的本地位置求出相对于父坐标系的位置,最终求出向量全局位置。
我们要分清全局坐标系,父坐标系,本地坐标系三种概念,分清基、向量的坐标、向量的位置三种概念。

2、控件监听事件

观察者模式在这里得到充分体现。

监听普通事件:

[button addTarget:self action:@selector(loadImageWithMultiThread) forControlEvents:UIControlEventTouchUpInside];

监听手势事件:

UITapGestureRecognizer响应顺序是怎么样的
一个scrollview上有几个按钮
在scrollview上add 了一个单击事件

singletap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[singletap setNumberOfTapsRequired:1];
[scrollview addGestureRecognizer:singletap];
这样点击按钮,不会响应按钮的事件,直接跳到handleSingleTap去了?
单击事件不是应该先被直接单击的subview处理,如果没有处理才提交到supview处理嘛?
怎么才能让按钮响应单击事件?

使用
UIGestureRecognizerDelegate的一个方法判断点击的是哪个view,确定是否响应事件。
singletap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[singletap setNumberOfTapsRequired:1];
singletap.delegate = self;
[scrollview addGestureRecognizer:singletap];

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if(touch.view != scrollview){
return NO;
}else
return YES;
}

自定义UI

[[UIScreen mainScreen] bounds] 和[UIScreen mainScreen] applicationFrame]

两者之间相差20

UIScreen也是UIView,它是操作系统传播坐标系原点绝对坐标和分度值绝对长度的起点,系统给出应用的屏幕相对于硬件屏幕坐标系的原点绝对坐标,以及应用屏幕的本地坐标系分度值相对于硬件的绝对长度。

[[[UIApplication sharedApplication] keyWindow] addSubview:myNewView];

怎样让视图显示在最外层?这样就把视图显示在最外层

尝尝使用这个方法覆盖一个HUD风格的透明图形

becomeKeyWindow 和 – resignKeyWindow ,线程调用这两个方法,控制一个window实例是否成为用于转发用户消息的那个窗口

Interface Builder

笔者倾向于使用纯代码方式来实现界面布局,这样更容易实现自定义UI控件和更容易维护修改。不过对于简单的界面,也可以使用苹果为我们提供的图形化的方式来构建。

1、如果通过加载nib文件的方式加载controller的视图,那么程线程调用 initWithNibName: 来初始化controller.view。线程会根据nib文件实例化一个NSCoder实例,然后调用initWithCoder初始化控制器所控制的视图界面。所以程序员需要实现initWithCoder方法而不是init。

- (id)initWithCoder:(NSCoder*)coder{
    if (self =[super initWithcoder:coder]) {
        //初始化控制器的变量
    }
    return self;
}

2、使用interface builder实现控件监听事件,需要配合代码中的IBOutlet和IBAction关键字,并建立Interface Builder对象和代码的关联。

图片资源

要建立一个像那么回事儿的界面,不能不关注图片资源,虽然这看起来像是美工的活。

1、分辨率

时间: 2024-10-12 17:43:39

Cocoa Touch(二):图形界面构建UIKit的相关文章

Foundation & UIKit & Cocoa Touch

Foundation Foundation is basically the Apple development standard library, implemented in Objective-C. It includes data types like NSArray, NSString, and NSDictionary. However, Swift provides replacements for these data types: Array, String, and Dict

Linux 上安装 weblogic12C (远程图形界面安装) (二)

上一篇Linux 上安装 weblogic12C (静默安装)介绍了静默方式安装weblogic12C的方式,这一篇主要介绍在windows主机上通过远程图形界面的方式安装weblogic的方式 一.前期准备 首先下载软件Xmanager,下载链接点我 (百度网盘),包含了注册码. Xmanager安装过程就不介绍了,一直下一步就行了.安装完成后,有以下快捷方式: 主要用到的是圈起来的这两个程序. 二.开始安装 1. 运行 Xmanager - Passive.exe 2. 通过SSH方式连接l

SQL Server 索引的图形界面操作 <第十二篇>

一.索引的图形界面操作 SQL Server非常强大的就是图形界面操作.关于索引方面也一样那么强大,很多操作比如说重建索引啊,查看各种统计信息啊,都能够通过图形界面快速查看和操作,下面来看看SQL Server索引方面的GUI操作. 二.索引统计信息的图形界面操作 SQL Server 索引的图形界面操作 <第十二篇>

C语言控制台窗口图形界面编程(二)

下面介绍几个用于控制台窗口操作的API函数,如下: [cpp] view plaincopy //获取控制台窗口信息 GetConsoleScreenBufferInfo(); //获取控制台窗口标题 GetConsoleTitle(); //更改指定缓冲区大小 SetConsoleScreenBufferSize(); //设置控制台窗口标题 SetConsoleTitle(); //设置控制台窗口信息 SetConsoleWindowInfo(); 下面的示例程序用于说明此类函数的使用: [

五十二 常用第三方模块 图形界面

Python支持多种图形界面的第三方库,包括: Tk wxWidgets Qt GTK 等等. 但是Python自带的库是支持Tk的Tkinter,使用Tkinter,无需安装任何包,就可以直接使用.本章简单介绍如何使用Tkinter进行GUI编程. Tkinter 我们来梳理一下概念: 我们编写的Python代码会调用内置的Tkinter,Tkinter封装了访问Tk的接口: Tk是一个图形库,支持多个操作系统,使用Tcl语言开发: Tk会调用操作系统提供的本地GUI接口,完成最终的GUI.

UI - Cocoa Touch框架

Cocoa Touch 层 Cocoa Touch层包含创建 iOS应用程序所需的关键框架.上至实现应用程序可视界面,下至与高级系统服务交互,都需要该层技术提供底层基础.在开发应用程序的时候,请尽可能不要使用更底层的框架,尽可能使用该层的框架. 高级特性 下面章节描述一些常见特性,也许您也正打算在应用程序支持这些特性. 多任务 如果应用程序构建于iPhone SDK 4.0及其后续版本(且运行于iOS 4.0及后续版本操作系统),则点击Home键的时候,应用程序不会结束,而是切换到后台.对于大多

Cocoa Touch 层

Cocoa Touch层包含创建 iOS应用程序所需的关键框架.上至实现应用程序可视界面,下至与高级系统服务交互,都需要该层技术提供底层基础.在开发应用程序的时候,请尽可能不要使用更底层的框架,尽可能使用该层的框架. 高级特性 下面章节描述一些常见特性,也许您也正打算在应用程序支持这些特性. 多任务 如果应用程序构建于iPhone SDK 4.0及其后续版本(且运行于iOS 4.0及后续版本操作系统),则点击Home键的时候,应用程序不会结束,而是切换到后台.对于大多数应用程序来说,进入后台,它

[IOS/翻译]Cocoa Touch Layer

本文是本人自己辛苦翻译的,请转载的朋友注明,翻译于Z.MJun的CSDN的博客 http://blog.csdn.net/Zheng_Paul,感谢! 翻译于2015年10月6日 Cocoa Touch Layer Cocoa Touch层包含了关键的库来构建IOS应用.这些库定义了应用的表现.他们提供应用的基本空间和提供关键技术,如多任务,以接触为基础的输入,消息推送,和许多高级的系统服务.当你设计你的应用时候,你需要优先研究他们. 高级别的特性 接下来的章节描述一些关键技术 App Exte

iOS框架介绍(三)---Cocoa Touch 层(转)

目录 Cocoa Touch 层 高级特性 多任务 数据保护 苹果推送通知服务 本地通知 手势识别器 文件共享支持 点对点服务 标准系统视图控制器 外部设备支持 Cocoa Touch 层包含的框架 Address Book UI 框架 Event Kit UI 框架 Game Kit 框架 iAd 框架 Map Kit 框架 Message UI 框架 UIKit 框架 Cocoa Touch 层 Cocoa Touch层包含创建 iOS应用程序所需的关键框架.上至实现应用程序可视界面,下至与