删除UISearchBar的顶部和底部边界和阴影? iOS Swift

我正在Swift 1.2中开发。

我用UISearchBar创build了一个.xib文件。

我正在寻找删除顶部和底部的边界,如图所示: 图片

顶部边界下方还有一个阴影。

我试图改变背景/色彩等,但努力使其消失。

任何帮助将受到欢迎,任何想法?

谢谢

编辑

所以下面的代码允许我摆脱顶部和底部的边界,但不是奇怪的投影。 我已经添加了绿色背景,以更清楚地显示它。

看到

另外,什么是在文本框(而不是视图)周围添加边框的最佳方式? 谢谢

// **这就是我想要做的: https : //stackoverflow.com/questions/33107058/uiviewcontroller-sizing-as-maincontroller-within-uisplitviewcontroller

这里是我正在使用的代码。

导入UIKit

TopSearchViewController类:UIView {

var expanded: Int = 0 @IBOutlet weak var trailingConstraint: NSLayoutConstraint! @IBOutlet var contentView: UIView! @IBOutlet weak var searchBar: UISearchBar! @IBAction func advancedSearchButton(sender: AnyObject) { if expanded == 0 { self.layoutIfNeeded() UIView.animateWithDuration(0.1, animations: { self.trailingConstraint.constant = 200 self.layoutIfNeeded() }) expanded = 1 } else { self.layoutIfNeeded() UIView.animateWithDuration(0.1, animations: { self.trailingConstraint.constant = 25 self.layoutIfNeeded() }) expanded = 0 } } override init(frame: CGRect) { // for using CustomView in code super.init(frame: frame) self.commonInit() } required init(coder aDecoder: NSCoder) { // for using CustomView in IB super.init(coder: aDecoder) self.commonInit() } private func commonInit() { NSBundle.mainBundle().loadNibNamed("TopSearchViewController", owner: self, options: nil) contentView.frame = self.bounds contentView.autoresizingMask = .FlexibleHeight | .FlexibleWidth self.addSubview(contentView) self.searchBar.layer.borderWidth = 1 self.searchBar.layer.borderColor = UIColor.whiteColor().CGColor println(searchBar) for subview in searchBar.subviews { println("hello") var textField : UITextField if (subview.isKindOfClass(UITextField)) { textField = subview as! UITextField textField.borderStyle = .None textField.layer.borderWidth = 1 textField.layer.borderColor = UIColor.lightGrayColor().CGColor textField.layer.cornerRadius = 14 textField.background = nil; textField.backgroundColor = UIColor.whiteColor() } } } func viewDidLoad() { } 

}

将酒吧的backgroundImage设置为一个空的 UIImage而不是 nil

 searchBar.backgroundImage = UIImage() 

你也可以设置barTintColor ,就像你在下面的注释中指定的那样。

我已经尝试了所有的答案,但他们并没有删除里面的UISearchBar的UITextfield的1px内部阴影。

我通过增加白色边框的宽度来解决这个问题。 它在阴影上重叠。

 searchBar.layer.borderWidth = 10 searchBar.layer.borderColor = UIColor.white.cgColor 

尝试这个:

 searchBar.layer.borderWidth = 1 searchBar.layer.borderColor = UIColor.whiteColor().CGColor 

编辑:

我相信影子是由内在的UITextField引起的。 试试下面的代码:

 var textField : UITextField for subview in searchBar.subviews { if (subview.isKindOfClass(UITextField)) { textField = subview as! UITextField textField.borderStyle = .None textField.layer.borderWidth = 1 textField.layer.borderColor = UIColor.lightGrayColor().CGColor textField.layer.cornerRadius = 14 textField.background = nil; textField.backgroundColor = UIColor.whiteColor() } }