首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何正确设置启用的NSSegmentedControl

如何正确设置启用的NSSegmentedControl
EN

Stack Overflow用户
提问于 2010-11-12 23:16:22
回答 2查看 1.5K关注 0票数 1

我希望我的NSSegmentedControl在启用时选择一个段,在禁用时没有选择任何段( iTunes中的视图NSSegmentedControl所具有的行为类型)。

以下是一些图片:

启用和选定

正确致残

禁用但不正确

(*)我认识到,每当BOOL属性发生变化时,我都可以编写一个函数来调用它,在这个函数中,我可以设置所有被分割的段,或者选择适当的段,但是我想知道是否有办法通过Cocoa绑定或Interface Builder来完成这个任务。

更新:添加了一些问题的图像

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-13 19:49:03

编程解决方案可以是这样的:

代码语言:javascript
复制
- (void)setSegmentEnabled:(BOOL)enabled{
     if (enabled)
     {
         int vState = [[NSUserDefaults standardUserDefaults] integerForKey:@"SelectedSegmentView"];
         [viewSegment setSelectedSegment:vState];
         segmentEnabled = YES;        
     }
     else
     {
         [viewSegment setSelected:NO forSegment:0];
         [viewSegment setSelected:NO forSegment:1];
         [viewSegment setSelected:NO forSegment:2];
         segmentEnabled = NO;
     }
}

我只是为BOOL属性segmentEnabled实现自己的setter,该属性是与viewSegment绑定的

票数 0
EN

Stack Overflow用户

发布于 2010-11-13 03:27:59

编辑:我不完全确定这一点,但我认为‘没有选择占位符’是你最好的选择。http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/CocoaBindingsRef/Concepts/BindingsOptions.html%23//apple_ref/doc/uid/20002304-187525

不过,我仍然认为,在有条件禁用控件时,您必须以编程方式指定没有选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4169883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档