使用swift语言 macOS开发 帮我写三个单选按钮NSButton,当点击按钮会变换按钮图片与文字颜色 使用storyboard加代码编程完成
时间: 2024-04-14 20:29:15 浏览: 144
精彩编程与编程技巧-改变按钮的文本颜色...
当你点击 NSButton 时,可以通过修改按钮的 image 和 titleColor 属性来实现图片和文字颜色的变换。下面是一个示例代码,演示如何在 Storyboard 中使用代码编程方式创建三个单选按钮,并在点击时切换它们的图片和文字颜色:
首先,打开 Main.storyboard,然后按照以下步骤进行设置:
1. 在你的视图控制器上拖放一个 NSButton,设置好其约束和外观。
2. 在 Attributes Inspector 中设置按钮的 Title 和 Image 属性,以及其初始文字颜色和图片。
3. 选中按钮,打开 Assistant Editor(可以点击 Xcode 右上角的两个圆形按钮之一)以显示代码编辑器和 Interface Builder。
4. 确保 Assistant Editor 的右侧显示的是 ViewController.swift 文件。
然后,将以下代码添加到 ViewController.swift 文件中:
```swift
import Cocoa
class ViewController: NSViewController {
@IBOutlet weak var button1: NSButton!
@IBOutlet weak var button2: NSButton!
@IBOutlet weak var button3: NSButton!
override func viewDidLoad() {
super.viewDidLoad()
// 添加按钮点击事件
button1.target = self
button1.action = #selector(buttonClicked(_:))
button2.target = self
button2.action = #selector(buttonClicked(_:))
button3.target = self
button3.action = #selector(buttonClicked(_:))
}
@objc func buttonClicked(_ sender: NSButton) {
// 切换按钮图片和文字颜色
if sender.state == .on {
sender.image = NSImage(named: "selectedImage")
sender.titleColor = NSColor.red
} else {
sender.image = NSImage(named: "unselectedImage")
sender.titleColor = NSColor.black
}
}
}
```
请确保你已经在 Assets.xcassets 中添加了名为 "selectedImage" 和 "unselectedImage" 的图片资源。
现在,当你点击这些按钮时,它们的图片和文字颜色将会发生变化。
希望对你有所帮助!如果你还有其他问题,请随时提问。
阅读全文