MacOS 开发- NSBox
来源:互联网 发布:灰蚂蚁太阳镜 知乎 编辑:程序博客网 时间:2024/06/05 07:40
- 定义
- NSBoxNSScrollView和NSSplitViewNSRulerView 比较
- 创建及使用
- 属性
- 背景色
- 标题
- 只显示一行
- NSTitlePosition 标题位置
- NSBoxType 盒子样式
定义
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
- MacOS 开发- NSBox
- NSBox
- MacOS 开发
- MacOS 开发
- MacOS 开发
- MacOS 开发
- MacOS 开发
- MacOS 开发
- MacOS 开发
- MacOS 开发
- MacOS 开发
- MacOS 开发
- MacOS 开发
- MacOS 开发
- MacOS 开发
- MacOS 开发
- MacOS 开发
- MacOS 开发
- HDU
- BZOJ 4540: [Hnoi2016]序列 莫队算法
- iOS支持富文本Label控件
- android 跑马灯出现重复跳动、不滚动问题
- Spring Boot --微信企业号开发01-使用新花生壳进行本地开发测试
- MacOS 开发- NSBox
- Spring任务调度两种配置方式
- leetcode---unique-paths---dp
- 高可用方案之二 nginx热机双备
- Python日记【开更关于学习python的点点滴滴】-16.09.14
- 静态成员变量实现个对象之间数据共享
- struts2属性驱动,模型驱动
- Qt QMutexLock 自动解锁机制
- 第一次使用taskctl启动遇到问题