我正在尝试使用此处的技术创建具有自定义背景的NSButton:http://youtu.be/7MZJxPOo_xU。除了最后的部分,他解释了如何使用self.layer.contentscenter
来确保图像的边缘不会以错误的方式伸展,所以一切都很适合我。我尝试以同样的方式实现它,但它对我没有任何作用,当我发表评论时没有任何改变。我是在实施错误还是误解了这里发生了什么?这是我的代码和问题的图像。
正方形(按设计)时按钮的外观如何:
拉伸时的外观:(注意顶部和底部边缘如何垂直压缩,何时只能水平拉伸)
CustomButton.m
@implementation CustomButton
- (BOOL)wantsUpdateLayer{
return YES;
}
- (void)updateLayer{
self.layer.contentsCenter = CGRectMake(0.5, 0.5, 0, 0);
if (self.state == NSOnState) {
self.layer.contents = [NSImage imageNamed:@"buttonPressedAndSelected.png"];
}
else if (self.state == NSOffState){
self.layer.contents = [NSImage imageNamed:@"buttonSelected.png"];
}
}
@end
答案 0 :(得分:1)
您的图片太大,无法按下。问题是它必须开始压缩顶部和底部,因为按钮被压缩得比实际的艺术品小。尝试将广场上的艺术品制作得更小(至少与按钮一样小)。
我发现虽然我在Mavericks上执行此操作的方法存在问题但它不希望我更改图层的contentsCenter。但是,它应该仍然有用。
不过,谢谢观看教程:)