Cocoa框架<2>

本文介绍了Cocoa框架下创建图形用户界面的基本概念和技术,包括视图的放置、滚动视图、标签视图、分开的视图等,并探讨了文本视图、数据视图以及MVC模式在视图中的实现。

一.创建图形化的用户界面

尽管AppKit包含许多类,但是对于一些目的,AppKit这个框架的部分重要部分负责创建图形化的用户界面。下面来探索一个Cocoa GUIs背后的概念和一些创建图形界面的类。

1.放置视图

像大多数的GUI工具集一样,Cocoa使用笛卡尔坐标系来绘制视图。坐标点使用NSPoint来表示,Cocoa中的坐标规定:视图的起始点是在左下角,特殊的就是flipped view,它的起始点是左上角:

当然,对于一些视图来说,起始点是从下方开始是很不方便的,例如Text views,那么如何来解决呢?Cocoa允许任意的视图进行反转,这样就可以让视图的起始点从左上角开始。

2.Clipped Views(修剪的视图,使用NSClipView类)

你经常需要在一个小窗口中展示一个大的文档,为了达到这个目的,你可以:移动或者修剪文档。Cocoa提供了NSClipView类,你可以调用NSRectClip()或者NSRectClipList()函数,它们可以设置修剪的区域。除了处理修剪的绘图之外,clip view还负责跟踪要绘制视图的哪一部分。我们可以向它发送-scrollToPoint:这个消息。

3.Scroll Views(滚动视图,NSScrollView类)

4.Tab Views(标签视图NSTabView)

标签视图有两个重要的组件:顶部的标签行,底部的内容视图。

其中,NSTabViewItem类封装了一个单独的标签。

5.Split Views(分开的视图,NSSplitView类)

NSSplitView视图是一种简单的容器视图,每个分开的单视图都可以包含子视图,单视图是通过一个竖直或者水平的条分开的,我们可以通过条来调整每个单视图的大小。

6.Boxes

不推荐使用

7.创建视图

大多数时间,你创建视图只是将它们拖拽到Interface Builder的窗口中。用代码创建视图在Cocoa中是很少见的,但是如果你想创建全屏应用的话,你需要使用代码来创建视图,因为在Interface Builder中是没办法创建全屏窗口的应用。

8.Text Views(文本视图)

负责文本渲染的最简单对象是NSCell这个类,它可以渲染文本。

9.Data Views(数据展示视图)

Cocoa中最复杂的视图是那些需要data source(数据源)
的那些视图。这些视图实现了MVC模式的视图部分。

在Cocoa中有三种:

  • NSBrower类实现了Finder中的浏览器视图,这会以列的形势来展示有层次的数据。
  • NSTableView代表了二维数据的表,这用来展示记录。
  • NSOutlineView类可以允许有层次的数据,通常用来以树的形势展示数据。

8.菜单

9.普通的控制器

直接将视图连接到模型上不是很灵活。通常一个模型对象对它拥有的数据要有特定的布局,视图对象想要一个稍微不同的版本。

解决这个问题的传统答案是MVC模式,该模式中,控制器在模型和视图对象之间提供了绑定,允许它们两有接口,可以更加紧密地代表它们自己的需求。

控制器NSController是任何程序最不感兴趣的部分,模型是最重要的,因为它定义了数据和操作。视图是重要的,因为用户是直接与它们打交道的。控制器只是两者之间的”胶水”。

基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究(Matlab代码实现)内容概要:本文围绕“基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究”,介绍了利用Matlab代码实现配电网可靠性的仿真分析方法。重点采用序贯蒙特卡洛模拟法对配电网进行长时间段的状态抽样与统计,通过模拟系统元件的故障与修复过程,评估配电网的关键可靠性指标,如系统停电频率、停电持续时间、负荷点可靠性等。该方法能够有效处理复杂网络结构与设备时序特性,提升评估精度,适用于含分布式电源、电动汽车等新型负荷接入的现代配电网。文中提供了完整的Matlab实现代码与案例分析,便于复现和扩展应用。; 适合人群:具备电力系统基础知识和Matlab编程能力的高校研究生、科研人员及电力行业技术人员,尤其适合从事配电网规划、运行与可靠性分析相关工作的人员; 使用场景及目标:①掌握序贯蒙特卡洛模拟法在电力系统可靠性评估中的基本原理与实现流程;②学习如何通过Matlab构建配电网仿真模型并进行状态转移模拟;③应用于含新能源接入的复杂配电网可靠性定量评估与优化设计; 阅读建议:建议结合文中提供的Matlab代码逐段调试运行,理解状态抽样、故障判断、修复逻辑及指标统计的具体实现方式,同时可扩展至不同网络结构或加入更多不确定性因素进行深化研究。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值