自升级到10.9 Mavericks以来,我注意到所有NSSearchfield
实例的内容都未对齐:放大镜图标,文本字段本身和清除按钮都向下移动了一点。
任何想法可能是什么原因?
答案 0 :(得分:0)
我暂时可以通过继承NSSearchField
并选择自定义类作为单元类来修复它:
+ (void) load {
[super load];
[self setCellClass:[RMSearchFieldCell class]];
}
RMSearchFieldCell
通过覆盖searchTextRectForBounds:
,searchButtonRectForBounds:
和cancelButtonRectForBounds:
方法来移动单元格的原点+1:
- (NSRect) cancelButtonRectForBounds:(NSRect)rect {
NSRect superRect = [super cancelButtonRectForBounds:rect];
superRect.origin.y -=1;
return superRect;
}
然而,这不是优雅的做法,我仍然在寻找错位的原因。