码迷,mamicode.com
首页 > 系统相关 > 详细

oc之学习Mac开发第一弹 认识 NSButton

时间:2019-01-29 13:55:31      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:article   https   ntc   拖拽   elf   ble   维护   定义   方法   

https://blog.csdn.net/lengshengren/article/details/53887873

2016年12月26日 17:32:19

NSButton 外观与属性

打开storyboard 面版,发现NSButton 有很多类型。先在ViewController 拖个PushButton 居中显示看看功能吧

 技术分享图片

本人非常推荐可视化编程,所见即所得。大量减少了ui的代码量,维护也非常方便。

如果你基本弄明白了图上的属性,用代码写起来就非常简单,下面就再用代码创建一个按钮

//创建按钮
NSButton *pushButton = [[NSButton alloc] initWithFrame:CGRectMake(self.view.frame.size.width/2-44,self.view.frame.size.height/2 + 30, 88, 88)];
//按钮样式
pushButton.bezelStyle = NSRoundedBezelStyle;
//是否显示背景 默认YES
pushButton.bordered = YES;
//按钮的Type
[pushButton setButtonType:NSButtonTypeMomentaryPushIn];
//设置图片
pushButton.image = [NSImage imageNamed:@"close.png"];
//按钮的标题
[pushButton setTitle:@"我是按钮"];
//是否隐藏
pushButton.hidden = NO;
//设置按钮的tag
pushButton.tag = 100;
//标题居中显示
pushButton.alignment = NSTextAlignmentCenter;
//设置背景是否透明
pushButton.transparent = NO;
//按钮初始状态
pushButton.state = NSOffState;
//按钮是否高亮
pushButton.highlighted = NO;
//把当前按钮添加到视图上
[self.view addSubview:pushButton];
效果如下图

技术分享图片

标题的富文本

NSMutableAttributedString *nameAttribute = [[NSMutableAttributedString alloc] initWithString:@"花名:胜任"];

NSRange range = NSMakeRange(0, 3);

[nameAttribute addAttribute:NSForegroundColorAttributeName
value:[NSColor redColor]
range:range];

[nameAttribute addAttribute:NSFontAttributeName
value:[NSFont systemFontOfSize:14]
range:range];

[nameAttribute fixAttributesInRange:range];

[pushButton setAttributedTitle:nameAttribute];
效果如下 

技术分享图片

NSButton事件响应

1 拖拽大法:适用于不用传值,用法如图。 

技术分享图片

 

NSButton 的继承关系为 NSObject->NSResponder->NSView->NSControl->NSButton

2 拖拽大法二:可以传值,用法如图。

第一步 

技术分享图片

 

 

第二步 点击连接器,指定唯一标识符。 

技术分享图片

 

第三步 长按Control键,鼠标长按要push的按钮,拖拽到.m文件生成方法,代码如下

 

- (IBAction)pushAction:(id)sender {

    [self performSegueWithIdentifier:@"pushIdentifier" sender:self];

}

 

 

- (void)prepareForSegue:(NSStoryboardSegue *)segue sender:(nullable id)sender{

    if ([segue.identifier isEqualToString:@"pushIdentifier"]) {

        SecondViewController *second =  (SecondViewController*)segue.destinationController;

        second.addressString = @"请输入";

    }

 

}

NSButton的类型定义在NSButtonCell类中。后续再学习NSButtonCell

--------------------- 

原文:https://blog.csdn.net/lengshengren/article/details/53887873 

版权声明:本文为博主原创文章,转载请附上博文链接!

 

oc之学习Mac开发第一弹 认识 NSButton

标签:article   https   ntc   拖拽   elf   ble   维护   定义   方法   

原文地址:https://www.cnblogs.com/sundaymac/p/10333512.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!