CSS   发布时间:2022-04-17  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何定制NSSlider以提供可可的非线性比例?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如何定制NSSlider以提供可可的非线性比例?即 – 0,2,4,6,10.

由于滑块仅限于在刻度线上停止,我希望滑块停在0,10(例如,而不是8).谢谢.

解决方法

基于具有所需值的数组快速编写的示例:

SampleAppDelegate.h

#import <Cocoa/Cocoa.h>

@interface SampleAppDelegate : NSObject <NSApplicationDelegate> {

    NSWindow * window;
    NSArray * values;

    IBOutlet NSSlider * theSlider;
    IBOutlet NSTextField * tHelabel;

}

- (IBACtion)sliderChanged:(id)sender;

@property (assign) IBOutlet NSWindow *window;

@end

SampleAppDelegate.h

#import "SampleAppDelegate.h"

@implementation SampleAppDelegate

@synthesize window;

- (void)applicationDidFinishLaunching:(Nsnotification *)aNotification {

    values = [[NSArray alloc] initWithObjects:@"0",@"1",@"2",@"10",@"50",nil];

    [theSlider setnumberOfTickMarks:[values count]];
    [theSlider setMinValue:0];
    [theSlider setMaxValue:[values count]-1];
    [theSlider setAllowsTickMarkValuesOnly:YES];

    [tHelabel setstringvalue:[values objectATindex:0]];
    [theSlider seTintValue:0];


}

- (IBACtion)sliderChanged:(id)sender {

    int current = lroundf([theSlider floatValue]);
    [tHelabel setstringvalue:[values objectATindex:current]];

}

@end

界面生成器:
– 添加NSSlider(连接IBOutlet /连接IBACtion /启用连续更新)
– 添加NSTextField(连接IBOutlet)

结果:

大佬总结

以上是大佬教程为你收集整理的如何定制NSSlider以提供可可的非线性比例?全部内容,希望文章能够帮你解决如何定制NSSlider以提供可可的非线性比例?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。