NSImageView ClipsToBounds

时间:2015-03-20 23:43:47

标签: ios xcode macos nsimage nsimageview

我有一个使用以下代码的iOS应用。我现在正在为Mac OS X创建应用程序并希望获得相同的效果,但我似乎无法使用clipsToBounds。我该怎么用? 我让其余代码在Mac上运行,而不是那部分。 感谢

var myImage = UIImage()                   
let view = UIImageView(frame: CGRectMake(0, 0, 100, 100))               
view.contentMode = UIViewContentMode.ScaleAspectFill
view.layer.opacity = opacity
view.layer.cornerRadius = cornerRadius
view.clipsToBounds = true
view.image = self.myImage
self.mainView.addSubview(view)

2 个答案:

答案 0 :(得分:0)

你应该展示你的Cocoa代码以及你尝试过的东西。

在任何情况下,Cocoa默认情况下都会将剪辑视图绑定到其边界。如果您不希望缩放图片,请将imageScaling属性设置为NSImageScaleNone

答案 1 :(得分:0)

我设法使用下面的代码创建效果。

view.imageScaling = NSImageScaling.ImageScaleNone
if view.frame.width > view.frame.height {
    var newWidthSum = self.getImage.size.width / widthPix
    var imageSize:NSSize = NSMakeSize(widthPix,self.getImage.size.height / newWidthSum)
    self.getImage.size = imageSize
} else {
    var newHeightSum = self.getImage.size.height / heightPix
    var imageSize:NSSize = NSMakeSize(self.getImage.size.width / newHeightSum,heightPix)
    self.getImage.size = imageSize
}
view.image = self.getImage