关闭

MacOS 开发- NSBox

标签: NSBoxMacOS-开发NSTitlePos
2104人阅读 评论(1) 收藏 举报
分类:

定义

NSBox 继承自 NSView。一般作为有标题的容器使用,适用于分组和滚动视图。

NSBox、NSScrollView、和NSSplitView、NSRulerView 比较

类用于为窗口中的视图集合或其它视图对象提供图形“附件”。

  • NSBox 类可以将窗口中的元素分组,并为整组元素描画一个边界。
  • NSSplitView 类可以在垂直或水平方向附加一些视图,并为每个视图分配一定的公共区域,用户可以通过滑动控制条来重新分配视图的区域。
  • NSScrollView 类,及其辅助类 NSClipView,为用户提供一个滚动机制,以及让用户初始化和控制滚动的图形对象。
  • NSRulerView 类则可以为一个滚动视图添加标尺和标志。

创建及使用

代码如下

- (void)addBox{

    NSBox *box=[[NSBox alloc] initWithFrame:NSMakeRect(15.0,10,300,300)];

    [box setBoxType:NSBoxPrimary]; //盒子样式
    [box setTitlePosition:NSAtTop]; //标题相对盒子的位置

    box.contentViewMargins = NSMakeSize(20, 30); //左右、上下

    box.contentView.wantsLayer = YES;
    box.contentView.layer.backgroundColor = [NSColor cyanColor].CGColor;

    NSTextField *textField = [[ NSTextField alloc]
                              initWithFrame:NSMakeRect(10,10,80,20)];
    textField.backgroundColor = [NSColor redColor];
    [box.contentView addSubview:textField];

    [self.window.contentView addSubview:box];

}

属性

背景色

如下设置背景色无效

box.wantsLayer = YES;
box.layer.backgroundColor = [NSColor cyanColor].CGColor;

设置 contentView 有效:

box.contentView.wantsLayer = YES;
box.contentView.layer.backgroundColor = [NSColor cyanColor].CGColor;

问题:如何设置 margin 的背景色呢?希望知道的童鞋们回复我。


标题

只显示一行

  • 无论标题输入多少文字,无论标题显示在哪个位置,只显示一行文字。

NSTitlePosition 标题位置

typedef NS_ENUM(NSUInteger, NSTitlePosition) {

    NSNoTitle               = 0,
    NSAboveTop              = 1,
    NSAtTop             = 2,
    NSBelowTop              = 3,
    NSAboveBottom           = 4,
    NSAtBottom              = 5,
    NSBelowBottom           = 6
};

NSBoxType 盒子样式

typedef NS_ENUM(NSUInteger, NSBoxType) {

    NSBoxPrimary    = 0,    // group subviews with a standard look. default
    NSBoxSecondary  = 1,    // same as primary since 10.3
    NSBoxSeparator  = 2,    // vertical or horizontal separtor line.  Not used with subviews.
    NSBoxOldStyle   = 3,    // 10.2 and earlier style boxes
    NSBoxCustom NS_ENUM_AVAILABLE_MAC(10_5) = 4     // draw based entirely on user parameters, not human interface guidelines
};
0
0
查看评论
发表评论
* 以上用户言论只代表其个人钱柜娱乐开户,不代表CSDN网站的钱柜娱乐开户或立场

NSBox

分组和滚动视图。 NSBox、NSScrollView、和NSSplitView类用于为窗口中的视图集合或其它视图对象提供图形“附件”。您可以通过NSBox类将窗口中的元素分组,并为整组元素描画一个边...
  • yuanya
  • yuanya
  • 2014-03-19 11:13
  • 1129

macOS 控件教程(2)

原文:macOS Controls Tutorial: Part 2/2 作者:Ernesto García 译者:kmyhy 更新说明:由 Ernesto García 升级至...
  • kmyhy
  • kmyhy
  • 2017-05-05 09:10
  • 1352

OSX10.11 (EI Capitan)下挂载NTFS外接盘(免费方法)

一直没有写博客的习惯,就把一些日常上的经验做备忘好了。 OS X 10.11之前,都是用的盗版的Paragon NTFS,但是升级了EI Capitan 之后,这个软件就不好使了。做了好久的工作之后,...
  • cendywang
  • cendywang
  • 2015-09-07 21:05
  • 3603

常用iOS、Mac框架和库及常用中文开发博客

目录 UI 下拉刷新模糊效果AutoLayout富文本图表表相关隐藏与显示HUD与Toast对话框其他UI 动画 侧滑与右滑返回手势其他动画 网络相关 网络连接网络测试图像...
  • gloryFlow
  • gloryFlow
  • 2015-11-11 15:51
  • 1873

使用Swift开发一个MacOS的菜单状态栏App

这两天突然想看看OSX下的App开发,看了几篇文章。下面这一篇我觉得入门是非常好的。我仅转述为中文,并非原文翻译。原文地址:http://footle.org/WeatherBar/ 下面开始介绍如...
  • yanghuiliu
  • yanghuiliu
  • 2016-07-28 12:11
  • 6659

MacOS 搭建钱柜娱乐开户开发环境

如何在MAC OS X 安装钱柜娱乐开户 SDK我以往用的开发环境都是以MAC OS安装VMware来跑不同的Windows OS,目前慢慢的将所要开发的项目由以往的传统的Wintel转移到Mobi...
  • ttth202507
  • ttth202507
  • 2011-06-11 12:46
  • 8223

macOS系统下搭建钱柜娱乐开户开发环境

在开始搭建钱柜娱乐开户开发环境之前,或者在学习钱柜娱乐开户开发之前,建议先学习Java入门知识。 Mac OS X系统在10.12.0起正式更名为“macOS”。 下面将从钱柜娱乐开户 SD...
  • fjnu_se
  • fjnu_se
  • 2017-06-06 19:55
  • 243

macOS系统下搭建钱柜娱乐开户开发环境

在开始搭建钱柜娱乐开户开发环境之前,或者在学习钱柜娱乐开户开发之前,建议先学习Java入门知识。 Mac OS X系统在10.12.0起正式更名为“macOS”。 下面将从钱柜娱乐开户 SD...
  • alex_lei1231
  • alex_lei1231
  • 2017-06-03 12:53
  • 282

React Native 之搭建开发环境(MacOS用户)

必需软件HomebrewHomebrew, Mac系统的包管理器,用于安装NodeJS和一些其他必需的工具软件。/usr/bin/ruby -e "$(curl -fsSL https://raw.g...
  • hunterliy
  • hunterliy
  • 2017-04-19 14:48
  • 363

MacOS搭载opencv开发环境

笔者属于Mac小白,最近刚入手一台macbook air,一直没有时间搭建编程环境,这两天终于挤出时间开始使用Mac系统。目前的编程工具主要为eclipse以及xcode,笔者首先选择了使用xcode...
  • chienchia
  • chienchia
  • 2014-11-23 18:50
  • 579
    钱柜娱乐开户
    个人资料
    • 访问:192735次
    • 积分:3225
    • 等级:
    • 排名:第12255名
    • 原创:123篇
    • 转载:6篇
    • 译文:1篇
    • 评论:97条
    最新评论