标签: nssegmentedcontrol

Xcode 4.5 Base Localization和NSSegmentedControl问题

我不能让我的NSSegmentedControl使用Base Localization更改其标题.

Xcode生成英语和法语的文件,我翻译每个段的标题,但它们保持与xib文件中的相同.

对于其他分段控件的工具提示也是如此.

由于其他一切工作都非常好,我认为这是这种特殊控制类型的错误.

有人可以证实这个问题吗?(Xcode 4.5.2,MacOS 10.8.2)

localization nssegmentedcontrol

6
推荐指数
1
解决办法
268
查看次数

如何更改NSSegmentedControl的高度

我试图增加NSSegmentedControl的高度,超过25px"常规"控件大小.我将NSSegmentedCell子类化,我明白我有两种方法可以使用.

- (void)drawSegment:(NSInteger)segment
            inFrame:(NSRect)frame
           withView:(NSView *)controlView

- (void)drawWithFrame:(NSRect)frame
               inView:(NSView *)view
Run Code Online (Sandbox Code Playgroud)

如果我在IB中放置一个分段控件,那么在我的NSSegmentedCell子类中覆盖上面的方法.除外,传入的帧和视图基于IB中分段控件的高度.所以,我不知道从哪里开始.

我是否必须继承NSSegmentedControl并在我所需的高度绘制我自己的控件?然后使用NSSegmentedCell子类来处理段?

cocoa nssegmentedcontrol nscell

6
推荐指数
1
解决办法
1063
查看次数

如何自定义NSSegmentedControl?

您知道我如何获得该控件子类 NSSegmentedControl/NSSegmentedControlCell 吗?-

我尝试重写 NSSegmentedControlCell 中的一些方法,但我还没有接近获得我想要的。

  override func drawSegment(segment: Int, inFrame frame: NSRect, withView controlView: NSView) {

        let bez = NSBezierPath(roundedRect: frame, xRadius: 3, yRadius: 3)
        NSColor.lightGrayColor().set()
        bez.stroke()
        if self.selectedSegment != segment {
            bez.fill()
    }
    //super.drawSegment(segment, inFrame: frame, withView: controlView)
}

override func drawInteriorWithFrame(cellFrame: NSRect, inView controlView: NSView) {
    //
}
Run Code Online (Sandbox Code Playgroud)

drawInteriorWithFrame 应该让我可以按照我想要的方式绘制背景(只是clearColor,带边框),但它仍然具有默认的 lightGrayColor。

谢谢。

macos cocoa nssegmentedcontrol swift

6
推荐指数
0
解决办法
1094
查看次数

COCOA Mac应用程序中NSSegmentedControl按钮的键盘快捷键

在我的COCOA Mac应用程序中,有一个NSSegmentedControl按钮用于队列ON/OFF功能.现在我需要为它提供键盘快捷键.例如,对于Queue ON,如果已经是Off,反之亦然.

有人做过这种功能吗?

谢谢和问候,巴伦

macos cocoa nssegmentedcontrol

5
推荐指数
1
解决办法
360
查看次数

如何使用Xcode等蓝色色调绘制分段控件?

我正在尝试重新创建Xcode中使用的分段控件,其中图像是用蓝色色调绘制的.

例如在Interface Builder中:

Interface Builder示例

到目前为止,我有一个自定义NSSegmentedCell覆盖- (void)drawSegment:(NSInteger)segment inFrame:(NSRect)frame withView:(NSView *)controlView,但我坚持如何绘制带有灰色色调的段图像(1)和(2)如果选择了蓝色色调.

此外,它看起来像是用边框或渐变效果绘制的.当我自己绘制段图像时,它只是黑色(因为我使用模板图像).

如何从上方重新创建片段?

xcode cocoa nssegmentedcontrol

5
推荐指数
1
解决办法
1587
查看次数

NSSegmentedControl突出显示蓝色色调和单选

是否有记录的方式NSSegmentedControl来使用trackingMode NSSegmentSwitchTrackingSelectOne(即在控件中专门选择一个段)并使用蓝色调突出显示模式渲染它- 我们在使用时自动获得的模式NSSegmentSwitchTrackingSelectAny

我正在寻找的是一种类似于Xcode工具栏Navigator子工具栏/切换器中的样式:

在此输入图像描述

到目前为止,尝试使用不同的样式或在标题周围进行探测都没有发现任何东西 -
分段控件使用深灰色突出显示(类似于在Finder窗口中观察到的那种).

任何有关如何激活蓝色突出显示模式的提示都非常受欢迎.

xcode cocoa objective-c nssegmentedcontrol nscontrol

5
推荐指数
1
解决办法
208
查看次数

在工具栏中使用动态调整 NSSegmentedControl 的宽度和位置

我有一个非常动态的 UI,它NSSegmentedControl在其文档窗口的工具栏中使用了。

NSSegmentedControl动态分配得到它的元素。

元素的数量可以在 1 到 15 之间变化很大。

目前,工具栏不会针对 中的元素数量进行调整NSSegmentedControl,即在通过setSegmentCount:所有超出原始宽度的段NSSegmentedControl(在创建窗口时)设置段数之后:

在此处输入图片说明

告诉NSToolbar重新计算其所有元素的宽度的最佳方法是什么,即它的宽度NSSegmentedControl和所有元素的位置?

cocoa nstoolbar nstoolbaritem nssegmentedcontrol

3
推荐指数
1
解决办法
1218
查看次数

处理 Cocoa 中 NSSegmentedControl 选定的段更改

请原谅这个超级菜鸟的问题,但在过去的一个小时里我一直在谷歌上搜索这个问题,我很沮丧,因为我似乎找不到这样一个非常基本的问题的答案:

我如何处理 Cocoa 中的控制更改?

我来自 iOS,很明显 Cocoa 并不像 UIKit 那样使用出口或委托来处理事件,我觉得我在这里错过了一些非常重要的信息。我已经发现它使用了第一响应者链,但除此之外我无法弄清楚如何实际做到这一点,或者如何找到这些事件的定义或记录位置。

所以我有一个NSSegmentedControl内部 a NSToolBar,我只想知道用户何时更改所选段。我已经仔细阅读了类文档,但没有看到任何提及要处理的任何类型的事件或操作。我确实注意到,如果我将控件的action出口拖到我的第一响应者代理上,我会列出一千万种不同的操作,其中没有一个看起来是相关的。

我到底该如何在 Cocoa 中做到这一点?

cocoa nstoolbar nssegmentedcontrol responder-chain

3
推荐指数
1
解决办法
1210
查看次数