这是this问题的重复。因为我所知道的关于Swift的一切都是Swift3,我想知道是否有人可以在这个答案中“翻译”建议的解决方案。
此外:
我创建了一个没有边框的NSSearchfield,将它放在一个框架视图中,它仍然显示灰色边框。我很想知道如何禁用动画灰色边框,甚至可能更改灰色“搜索”线的颜色。
我丑陋的结果现在看起来像这样:
如果有人能告诉我如何管理这个困难的NSSearchfield,那将是一个很大的帮助。
// UPDATE
根据firstinq的回答,图标现在消失了,这很棒。但是,仍有这种令人不安的动画灰色边框。我无法理解:NSSearchFielt位于NSView(蓝色边框)内。因此,NSView之外的所有内容都应该被隐藏,对吧?那么为什么我仍然看到灰色边框? len()
无效。
有任何建议如何处理?
这是我绘制NSView边框的方式:
cell.isBordered = false
答案 0 :(得分:3)
隐藏图标:将单元格转换为NSSearchFieldCell并将单元格的searchButtonCell设置为透明。可能的swift3版本:
var string ="<img alt='' src='http://api.com/images/UID' /><br/>Some plain text<br/><a href='http://www.google.com'>http://www.google.com</a>";
var elem= document.createElement("div");
elem.innerHTML = string;
var images = elem.getElementsByTagName("img");
for(i=0; i<images.length; i++){
images[i].width = "150";
images[i].height = "250";
}
string = elem.innerHTML; // reassign the 'string' with new value
console.log(string);
此处searchField是一个NSSearchField
删除焦点边框:
if let cell = self.searchField.cell as? NSSearchFieldCell {
cell.searchButtonCell?.isTransparent = true
}
要更改灰线/光标,最好是继承NSSearchField并覆盖方法。 您可以从here获得一个想法。
答案 1 :(得分:0)
我会补充上面的答案。 要隐藏搜索图标,请为 SearchButtonCell 属性分配一个 nil
if let cell = searchField.cell as? NSSearchFieldCell {
cell.searchButtonCell = nil
}