- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我的 macOS 应用程序中有一个 NSSlider
,名为 wave_mode_slider
。我想要做的是更新输入时所述 slider 的值。所以,我所做的是:
self.wave_mode_slider?.integerValue = ("\(params[2])" as NSString).integerValue
这会将 slider (白点)的值设置为预期的输入值。但是,在我看到任何实际结果之前,我必须在应用程序外部单击,这会导致 slider 的白点跳转到它的新值。如此处所示:
有没有办法让 slider 立即更新?
我的 slider 是这样创建的:
self.wave_mode_slider = NSSlider(frame:CGRect(x: 10, y: 100, width: 20, height: 300))
self.wave_mode_slider?.cell = OWOWSliderVertical()
self.wave_mode_slider?.maxValue = 127
self.wave_mode_slider?.target = self
self.view?.addSubview(self.wave_mode_slider!)
我尝试将 slider 的 isContinuous
属性设置为 true,但这并没有改变结果。
编辑:
var midiClient : MIDIClientRef = 0
var inPort : MIDIPortRef = 0
let observer = UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque())
MIDIClientCreate("WobClient" as CFString, nil, nil, &midiClient)
MIDIInputPortCreate(midiClient, "WobClient_InPort" as CFString, {
(pktList: UnsafePointer<MIDIPacketList>, readProcRefCon: UnsafeMutableRawPointer?, srcConnRefCon: UnsafeMutableRawPointer?) -> Void in
let packetList : MIDIPacketList = pktList.pointee
var packet : MIDIPacket = packetList.packet
let mySelf = Unmanaged<Wob>.fromOpaque(srcConnRefCon!).takeUnretainedValue()
for _ in 1...packetList.numPackets {
let bytes = Mirror(reflecting: packet.data).children
var params : [UInt64] = []
var i = packet.length
for (_, attr) in bytes.enumerated() {
let string = String(format: "%02X ", attr.value as! UInt8)
params.append(UInt64(strtoul(string, nil, 16)))
i -= 1
if (i <= 0) {
break
}
}
// print(("\(params[2])" as NSString).integerValue)
mySelf.setWaveSliderValue(value: ("\(params[2])" as NSString).integerValue)
packet = MIDIPacketNext(&packet).pointee
}
}, nil, &inPort)
MIDIPortConnectSource(inPort, self.source, observer)
这是我获得值(value)的地方
最佳答案
最后很简单,一看到Willeke关于线程的评论,我就用主线程设置值:
DispatchQueue.main.async {
mySelf.wave_mode_slider?.floatValue = ("\(params[2])" as NSString).floatValue
}
关于swift - nsslider.integerValue 要求我在更新值之前专注于另一个应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43719570/
我的 NSSlider 上有一个事件,代码如下: - (IBAction)optOndoorzichtigheidChange:(id)sender { NSUserDefaults* def
我试图让我的 NSSlider 从某个值开始,但我一直无法在 swift 手册或其他资源中找到执行此操作的函数。有没有简单的方法可以做到这一点? 谢谢 最佳答案 你必须先为你的 NSSlider 创建
我正在尝试使 NSSlider 的值/数字成为非线性的... @IBOutlet private weak var _countSlider:NSSlider!; let countSliderVal
我将 NSSlider 设置为连续模式。因此,当用户移动 slider 时,我的操作方法会被多次调用。我们只需要对 slider 的最后一个值进行撤消注册,并且不需要跟踪这么多中间值。我知道我可以在撤
我需要在运行时向自定义 View 添加可变数量的 NSSlider,并且希望它们在可用空间中均匀分布。我查看了苹果文档并在网上看到了一些示例,但它们都没有很好地说明如何做到这一点。我可能有一种观点,也
我正在尝试实现一个自定义圆形 slider ,它使用图像来绘制表盘和旋钮。为此,我对 NSSliderCell 进行了子类化并覆盖 drawBarInside和drawKnob方法。现在,如果我将 s
我刚刚创建了一个新的 Xcode 项目。在 AppControl 类头文件中,我定义了以下对象(以及其他一些对象): IBOutlet NSImageView *inputImageView;
我有一个自定义的NSSlider。 由于缺乏空间,我想仅当用户将鼠标悬停在 slider 上时才显示它的值。就像这个: http://dribbble.com/shots/754412-Range-S
我正在尝试在 Cocoa 中实现一个具有 5 个值的自定义 slider 。查看我的演示项目,可以在这里下载:http://s000.tinyupload.com/index.php?file_id=
注意:更新如下... 我有一个 cocoa 桌面应用程序,它由一系列围绕自定义 NSView 的控件组成。我正在使用 displayLink 来驱动更新。 当用户单击 NSControl( slide
我有一些垂直 slider ,我希望能够用它们代表的值来标记刻度线。除了在界面生成器中手动将标签放在它们旁边之外,还有更好的方法吗?如果没有,有没有办法至少让这些标签与刻度线对齐,还是我必须徒手完成?
我有一个小问题,但我不明白...... 我编写了一个关机倒计时排序,我需要在以下代码中重新使用变量名称“x”: @IBAction func valueChange(sender: NSSlider)
我编写了一个 Mac 应用程序并以编程方式创建了一些 NSSlider。默认 NSSlider 的方向是水平的。如何使 NSSlider 垂直? 最佳答案 objective-c 我是用这个做的: s
我以为这会很简单,但似乎并非如此。我有一个 NSSlider,我想在标签中显示它的值,就像这个 picture .使用此 picture 中所示的设置它工作正常,使用绑定(bind) takeIntV
在我的 swift 3 应用程序中,我有一个 NSSlider,我是这样创建的: self.myAwesomeSlider = NSSlider(frame:CGRect(x: 10, y: 100,
我有带有音量值的 slider 。我需要在现场改变音量。我的代码有什么问题? @IBOutlet weak var volumeSliderCurr: NSSlider! @IBAction func
我有一个 NSWindow 和一个水平 NSSlider。 当窗口背景颜色改变时,我想改变 slider 右侧部分的颜色。 目前,当窗口背景较暗时,栏的右侧部分不再可见。 注意:窗口背景实际上是我通过
我的 macOS 应用程序中有一个 NSSlider,名为 wave_mode_slider。我想要做的是更新输入时所述 slider 的值。所以,我所做的是: self.wave_mode_slid
我想创建一个具有三个旋钮的 NSSlider,而不是只有一个。我想我可以对 NSSliderCell 进行子类化,然后重写跟踪方法,以确保一个 slider 单元不会超过它旁边的一个。 这很容易做到,
我是 Objective C 和 Cocoa 的新手,但我已经设法将 slider 添加到某些 View 等中。我明白了。 我想用代码添加多个 slider ,我用 for 循环和数组尝试了它。它不起
我是一名优秀的程序员,十分优秀!