展会信息News
Button简介-AA岁月静好AA
发布时间:2019-03-14 12:45   文章栏目:展会信息   浏览次数:

        

        

        

         版权国家:冠词是视频博客作者的原件角色。,转载时只得选出原文交链 https://blog.csdn.net/zzl819954692/article/details/81781094

                

        按钮是本人用户界面男朋友。,单击时将手感音讯发送到目的。。

        本文绍介了各式各样的按钮当打中差别。。

按钮是若何任务的?

        按钮遵照目的举措设计模型。,它是本人用户界面男朋友。,单击时将手感音讯发送到目的。。使担忧此设计模型的更多新闻,请反省 Concepts in Objective-C Programming打中Target-Action。

        集中的按钮是由NSbutnCype处置的。,一旦单击了NSbutnCype看法并经过鼠标单击事情诱捕,NSbutnCype的事例将其举措音讯发送到目的男朋友。,只因既然鼠标光标在Button 住在牢房或小室中还可以持续在内部发送举措音讯并持续限制。。Button 可以以多种特辑方式显示电池的限制国务的。。比方,有边框的按钮单元可以出如今掩藏上。,或许按下按钮单元时。,图像或头脑可以使变为为否则的使成形。。

        NSbutnCype男朋友只得家用电器NSCORT亚纲的事例。,倘若你必要本人按钮,诸如,按钮。,家用电器包孕惟一的NSButtonCell事例的NSButton男朋友;倘若必要一组相互关系按钮,诸如,一组出轨或单选按钮。,包孕两三个NSButtonCell事例的NSMatrix男朋友。

        NSButtonNSMatrix提出了本人把持看法。,不过,不过NSMatt必要你直地叫NSButtonCell男朋友,只因NSButton集中的方式都是NSButtonCell同样国家的方式是躲藏起来的。,(就是说,NSButton方式的处决会自然的为你让与有重大意义的的NSButtonCell方式,省掉愿意NSbutnCype的在。。给换底无营养体生长的。NSButtonCell方式与用于显示快捷键的手迹此外高亮或显示NSButton国务的的特任方式使担忧(末尾这些通常与NSButtonsetButtonType:将方式设置肩并肩的)。

伟德国际

        伟德国际决议了它的行动,若安在按下时投射显示国务的。,按钮的类型可分为三类。:

        经过setButtonType设置伟德国际。

普通按钮

        这些按钮次要用于泉水举措。,因他们不显示他们的程度。。当鼠标按下并重新提起T时,这些按钮会使变为显示。。

  •         要让NSButton按下把持按钮的使成平面。,家用电器NSMomentaryPushInButton(在XB的按钮学监中,它崇高的召回。 Push”),当鼠标按下按钮时,按钮仿佛内侧的。。

            在这里有本人。NSMomentaryPushInButton按钮示例,带有NSRoundedBezelStyle作风边界附近的,整齐的和挤压工夫的使成平面

            

            这是条围绕。NSThickerSquareBezelStyle用刻刀作装饰画的NSMomentaryPushInButton按钮示例。边框用刻刀作装饰画NSRegularSquareBezelStyleNSThickSquareBezelStyle类似的。

  •         把持按钮的使成平面,家用电器NSMomentaryChangeButton(在Xib中称为“Momentary Change”)。按下鼠标按钮时,它将代替图片和标题的。,当鼠标解除时,它将显示为整齐的图片和头脑。。倘若无设置掉换图片或按钮头脑,它不克不及的使变为它的使成平面。。

黏稠按钮

        这些按钮显示它们的国务的。,它如同坚决地宣告后按下。。点击一次,它将持续按下直到下次点击。。

  • 要让NSButton按下把持按钮的使成平面。,家用电器NSPushOnPushOffButton(xib中称为“Push On/Push Off”)。按下按钮后,按钮仿佛内侧的。,再次点击之退按钮。。突然拿出来的使成平面用于使靠近国务的。NSOffState),敲诈的使成平面用于吐艳和混合国务的。NSOnStateNSMixedState)。此按钮用于显示申请表格打中已决定的心甘情愿的的国务的(到,显示所选择本能够的选择为黑体的按钮)独特的有益。
  • 把持按钮的使成平面,请家用电器NSToggleButton(在Interface Builder按钮反省器崇高的切换。。点击一次,该按钮将显示其废除图像和头脑。。再次点击接近末期的,按钮将显示其整齐的图像和头脑。。倘若无废除图像或头脑,按钮的使成平面不克不及的使变为。。整齐的图像和航线通知使靠近国务的。NSOffState),更迭图像和标题的通知ON国务的和混合国务的。NSMixedState)。这是两个举措(诸如),终止和启动当打中切换按钮独特的有益。。

        倘若你残忍的本人按钮来显示占有三个国务的的确切的使成平面,只得自限制NSwitter。

单选按钮和复选框

        这些按钮显示申请表格打中国务的。,它们是NSToggleButton的特别版本,具有体系限制的图片。

        不过复选框和单选按钮可以显示占其中的平衡的确切的图像。,但否则类型的按钮不克不及。。

普通按钮的家用电器

        普通按钮处决按钮名所塑造的举措,通常,它是圆形的矩形。,它使具体化了它的名字。。诸如,此按钮能够出如今对话框中。,对话框可以在文档中找到主题。。
在这里写图片塑造
Interface Builder怀抱按钮是最简略的。。还可以经过培养来发现顺序。NSButton事例,它的类型是NSMomentaryPushInButtonNSNoImage图像地位NSRoundedBezelStyle的边框。

        如此按钮也可以是图标按钮。,就是说,如此按钮次要是由它的图标承认的。,短时间或无角色。它是矩形的的。,像如此的:
在这里写图片塑造
你可以用它。Interface Builder或发现图标按钮的编码。倘若你家用电器Interface Builder,从普通按钮开端。。倘若在编码中发现它,后来地发现本人。NSButton事例,后来地将其类型设置为NSMomentaryPushInButton,图像地位设置为NSImageOnly,其边框类型设置为正方形边框类型。末尾,为你残忍的的东西设定图像。。

        留意:可以在主题按钮上找到本人小图像。,图标按钮可以有本人口头禅。。最重要的问题是是什么最投射的。。倘若是主题,把它作为主题按钮。倘若它是本人图像,把它作为图标按钮。。

        你也可以有本人按钮在两个国务的当中切换。,每个州都有本人的次序和抽象。。诸如,按钮可以在启动和终止当中切换。。你可以家用电器和家用电器。Interface Builder或编码发现普通按钮相同的人的方式发现本人按钮,只需将伟德国际更代替NSToggleButton。后来地给按钮本人可选头脑和图像此外本人例行的头脑和图像。该按钮率先显示例行的头脑和图像,后来地在用户单击后显示掉换的头脑和图像。

家用电器复选框

        本人复选框阐明家用电器打中设置,复选框的另本人名字叫出轨按钮,用伙伴主题特征本人复选框。

        家用电器NSwitter的国务的属性设置复选框的国务的。。能够的国务的是NSONSTATE。、NSOffState和NSMixedState。倘若按钮使靠近,骨架构架是空的。,倒地,盒子里有本人婚配的数字。;倘若按钮是混合国务的,盒子里有个泼溅。。

基准复选框

        Interface Builder是发现复选框最简略的方式。你也可以家用电器编码发现,答应自NSButton,其类型限制为NSSwitchButton

        不同的一组单选按钮。,可以在复选框中选择多个选择能力。。这组按钮通知占有选择的字母都是粗体。,无整齐尖细的,也其中的平衡的下划线。:
在这里写图片塑造

图标复选框

        你也可以有本人复选框,它是本人图标按钮;就是说,这次要是经过它的图标来承认的。,短时间或无角色,倘若按钮使靠近,这如同很投射。;倘若按钮翻开,它如同被推了上。。(图片按钮不克不及显示混合国务的。。)

        你可以在Interface Builder或许在编码中发现图片复选框。,倘若你正家用电器Interface Builder,在普通按钮的基金;倘若由编码发现,你必要大发脾气NSButton的事例。后来地将其类型设置为NSPushOnPushOffButton、图像地位设置为NSImageOnly、边框类型被设置为正方形类型以使变为它。,后来地基金必要设置图像。。

单选按钮

        单选按钮显示申请表格打中许多的设置。,是本人群体的平衡的。,一次但是翻开本人按钮。,家用电器一组单选按钮在两三个互斥的OPTI当中举行选择。

基准单选按钮

        基准单选按钮是本人小在四周。,被卡住是伙伴角色。。倘若按钮使靠近,如此在四周是空的。;倘若按钮翻开,在四周被塞满了。;倘若按钮是混合国务的,如此在四周有本人泼溅。。
诸如,这组按钮通知占有定位于的男朋友都是绿色的。
在这里写图片塑造
如此组显示许多的被选打中反对是白色的。,它的平衡的是绿色的。
在这里写图片塑造
一组单选按钮是由本人结合的。NSMatrix男朋友如愿以偿,男朋友使具体化两三个NSButtonCell事例,并富国NSRadioModeMatrix的尾随模型。无论何时你点击矩阵打中本人按钮,,矩阵使靠近在前选择的按钮并翻开新的点击。。
Interface Builder这是发现一组出轨按钮的最简略方式。。您还可以经过编码发现编码。NSMatrix男朋友并设定初值它initWithFrame:mode:prototype:numberOfRows:numberOfColumns:),家用电器原模式单元和NSRadioModeMatrix的尾随模型。原模式男朋友,家用电器NSRadioButton发现类型NSButtonCell男朋友。清单1显示了若何做到这点。。
清单1:经过编码发现本人单选按钮

        - (void)awakeFromNib {

    NSButtonCell *prototype = [[NSButtonCell 异类] init
    [原模式] setTitle:@"Watermelons"];
    [原模式] setButtonType:NSRadioButton];
    NSRect matrixRect = NSMakeRect(20.0, 20.0, 125.0, 125.0);
    NSMatrix *myMatrix = [[NSMatrix 异类] initWithFrame:matrixRect
                                                    mode:NSRadioModeMatrix
                                               prototype:(NSCell *)prototype
                                            numberOfRows:3
                                         numberOfColumns:1];
    [ [自尊心] 窗口 contentView] addSubview:myMatrix];

    NSArray *cellArray = [myMatrix 细胞
    [[cellArray objectAtIndex:0] setTitle:@"Apples"];
    [[cellArray objectAtIndex:1] setTitle:@"Oranges"];
    [[cellArray objectAtIndex:2] setTitle:@"Pears"];
}

图标单选按钮

        单选按钮也可以是图标按钮,就是说。,这次要是经过它的图标来承认的。,短时间或无角色。倘若按钮使靠近,因而它如同陷落了窘境。;倘若按钮翻开,它如同被推了上。。(图标按钮不克不及显示混合国务的。。)
你可以在Interface Builder在编码模型下发现一组图标单选按钮。。倘若你正家用电器Interface Builder请从普通按钮开端。;倘若由编码发现,发现按钮矩阵。。后来地将矩阵的尾随模型使变为为NSRadioModeMatrix。将按钮的类型更代替NSPushOnPushOffButton,它们的图像地位被使变为为NSImageOnly,它们的边界附近的类型被使变为为正方形边界附近的类型。。末尾,为你残忍的的东西设置图片。。

查询按钮矩阵

        一组单选按钮或复选框是按一种方式培养的。NSMatrix男朋友,其调解男朋友是NSButtonCell男朋友。矩阵男朋友是一种特别的把持。。每个单元可以指派本人的目的和手感选举人。。旁白,NSMatrix能够有本人的目的和手感选举人。。(更多顾虑矩阵男朋友的目的手感的新闻),请参阅矩阵顺序设计袖珍指南。)
要找到用户选择的单选按钮或复选框(当用户单击时),您可认为T打中每个住在牢房或小室中指派目的和确切的的手感选举人。,后来地如愿以偿有重大意义的的手感方式。。不过,查询单选按钮O中容易选择的一种更无效的方式NSMatrix男朋友自己如愿以偿目的手感。,而且在手感方式中决定如今选择了哪个单元(或单元)。这本人。NSMatrix方式是selectedCellselectedCells
清单1显示了本人举措方式的如愿以偿。,此方式应答单选按钮矩阵打中选择。。
清单1 查询定位于的单选按钮单元的矩阵男朋友。

         - (IBAction)findSelectedButton:(id)sender { 
    NSButtonCell *selCell = [发送者] selectedCell];
    NSLog(@"Selected cell is %d", [selCell 口头禅
}

        如此编码分离阐明了否则的可以在S时家用电器的技术。。您可认为矩阵打中每个住在牢房或小室中分派数字像章来特征它。,后来地,在处置选择时查询这些像章值。。

设置按钮边框的使成平面。

        可以经过使变为按钮的使成形和影子来把持边框。。留意,倘若isborder重新提起NO,边界附近的不克不及的呈现。。家用电器setborder:使变为其评价。
使变为边框的使成形,请家用电器setBezelStyle:更改按钮的边框类型。。边界附近的类型分为两类。。

设置按钮头脑

        本人按钮可以有两个相互关系的头脑:协同头脑和更迭头脑。。倘若伟德国际是NSMomentaryPushInButtonNSPushOnPushOff按钮、NSMomentaryLightButtonNSOnOffButton,只显示整齐的头脑。。倘若伟德国际是NSMomentaryChangeButtonNSToggleButton,当按钮国务的使靠近时 (NSOffState将显示整齐的航线。,当按钮的国务的为onmixed (NSOnState将显示更迭头脑。。或NSMixedState)。倘若必要本人按钮显示占有三个国务的的确切的头脑,你只得亚纲。NSButton
倘若您预料头脑使具体化纯主题,请家用电器setTitle:设置协同头脑和setAlternateTitle:设置更迭头脑。倘若您预料头脑使具体化用刻刀作装饰画主题,诸如,整齐尖细的或黑体字,请家用电器setAttributedTitle:setAttributedAlternateTitle:
您要设置头脑相到按钮图像的关系。,家用电器setImagePosition:,设置按钮图像的阐明。倘若无图片,头脑将在按钮中水温和铅直居中。。倘若头脑高于图像、下部或堆叠平衡,头脑将在按钮中程度居中。。躲藏起来头脑。,家用电器setImagePosition:带有NSImageOnly的限制因素。
设置头脑的手迹,发送setFont:按钮单元到按钮。
当鼠标除去到口头禅时,倘若预料按钮显示其头脑,必要家用电器Tool Tips

设置按钮

        本人按钮可以有两个相互关系的图像:公共图像和更迭图像。。倘若伟德国际是NSMomentaryPushInButtonNSPushOnPushOff按钮、NSMomentaryLightButtonNSOnOffButton,只显示整齐的图像。。倘若伟德国际为NSMomentaryChangeButtonNSToggleButton,整齐的图像是按钮国务的。off时显示(NSOffState),伴奏复印是按钮国务的。onmixed (NSOnState)时显示。或NSMixedState)。倘若残忍的本人按钮显示占有三个国务的的确切的图像,你只得亚纲。NSButton。(不过出轨按钮和单选按钮可以显示确切的的图像。,只因如此职务无公共交流。。)
应设置整齐的图像。,家用电器setImage:。设置废除图像,家用电器setAlternateImage:

        留意:倘若按钮是复选框或单选按钮,不要使变为抽象。。这些按钮的图像由体系限制。,使变为它们会使遭受不行预知的坐果。。倘若您残忍的本人带有自限制使成平面的按钮,或许单选按钮。,可以用户化本人切换按钮(类型为NSToggleButton的按钮)或NSButton亚纲。
设置按钮图像的地位,家用电器setImagePosition:,跟随值经过。默许是NSNoImage

躲藏起来按钮

        有两种方式可以从看法中躲藏起来按钮:它可以是完整清晰度的,也可以只在鼠标经过时显示。。

将按钮设置为默许用刻刀作装饰画。

        倘若按钮有NSRoundedBezelStyle 边框类型,您可以将其像章为默许按钮。。默许按钮是定位于的用刻刀作装饰画。,当用户按Return让与它的手感音讯。出现像如此的。
在这里写图片塑造
将按钮像章为默许值,用 setKeyEquivalent:方式将其快捷键设置为Return

        [美纽] setKeyEquivalent:@"
"];

        可以在Interface Builder设置快捷键,默许按钮有本人粗略的轮廓画在它四周。,在按钮的边界附近的而且,交流设计本应目的在于额定的阻止得分。。

设置按钮快捷键

        本人按钮可以有本人力量的均等的键。,如此的当用户按哪个键时,按钮将应答。,就仿佛它被点击了公正地。。
留意,倘若将按钮的快捷方式设置为Return,此按钮将适宜默许按钮。。
通常在Interface Builder为按钮设置快捷键。为了这个目的,选择按钮并翻开反省器。attributes窗格。显示按钮属性,单击键Equiv掷还,打字要与桥礅关系的键或键结成。。按重置键拟出相当的调码。。)

        要在顺序设置快捷键,可以家用电器setKeyEquivalent:可以导入有重大意义的的字母。。诸如,设置Return此按钮的快捷键:

        [美纽] setKeyEquivalent:@"
"];

        按钮的键指定设置为非油印字母。,可以家用电器NSResponder限制的调常数,如以下示例所示,它将按钮的调指定设置为左箭键。。

        unichar arrowKey = NSLeftArrowFunctionKey;
[按钮] setKeyEquivalent:[NSString stringWithCharacters:&arrowKey length:1]];

亚纲化NSButton

        倘若发现本人NSButton亚纲来处决它本人的设定初值,重写指派的设定初值器NSViewinitWithFrame:方式)。倘若想在NSButton在亚纲中家用电器自限制NSButtonCell亚纲,只得重写cellClass:方式。