【发布时间】:2016-03-03 19:25:10
【问题描述】:
我正在尝试创建自定义形状NSButton。特别是我正在尝试使用自定义图像制作一个圆形按钮。我在创建自定义UIButton 时找到了a tutorial,并尝试将其调整为NSButton。但是有一个很大的问题。 clipsToBounds 似乎只有 iOS(
这是我的代码:
import Cocoa
class ViewController: NSViewController {
@IBOutlet weak var mainButton: NSButton!
var size = 32
override func viewDidLoad() {
super.viewDidLoad()
configureButton()
// Do any additional setup after loading the view.
}
func configureButton()
{
mainButton.wantsLayer = true
mainButton.layerContentsRedrawPolicy = NSViewLayerContentsRedrawPolicy.OnSetNeedsDisplay
mainButton.layer?.cornerRadius = 0.5 * mainButton.bounds.size.width
mainButton.layer?.borderColor = NSColor(red:0.0/255.0, green:122.0/255.0, blue:255.0/255.0, alpha:1).CGColor as CGColorRef
mainButton.layer?.borderWidth = 2.0
}
override var representedObject: AnyObject? {
didSet {
// Update the view, if already loaded.
}
}
}
我做错了什么?如何制作圆形 NSButton?你能建议什么替换clipsToBounds吗?
因为这是我目前所能得到的:
【问题讨论】:
-
"clipsToBounds 似乎仅限 iOS" 但 CALayer
masksToBounds不是。区别仅仅是因为 NSView 不会自动支持图层,而 UIView 是。