删除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() } }