从UISearchBar更改书签和取消按钮的大小

时间:2016-02-05 11:42:05

标签: ios swift uisearchbar

我试图更改书签按钮的大小以及UISearchBar中的取消按钮。我创建了一个自定义searchBar和searchBarController。我已经能够没有任何问题地更改书签按钮的图像。就像我能够在搜索栏中更改UITextField的高度一样。我不知道如何进入两个按钮的子视图。如果有人碰巧知道如何做到这一点,将不胜感激。

编辑:

好吧所以我有以下方法可以在搜索栏的子视图中绘制。 indexOfSearchFieldInSubviews()是我第一次用来改变搜索栏内UITextField的大小。

    override func layoutSubviews() {
    super.layoutSubviews()
    if let index = indexOfSearchFieldInSubviews() {
        // Access the search field
        let searchField: UITextField = (subviews[0]).subviews[index] as! UITextField


        // Set its frame.
        searchField.frame.size.height = frame.size.height - 10
        searchField.frame.origin.x = 5
        searchField.frame.origin.y = 5

        // Set the font and text color of the search field.
        searchField.font = preferredFont
        searchField.textColor = preferredTextColor

        // Set the background color of the search field.
        searchField.backgroundColor = barTintColor
    }
}

indexOfSearchFieldInSubviews的代码如下。因为我试图找到正确的观点,所以这很脏。

func indexOfSearchFieldInSubviews() -> Int! {
        var index: Int!
        let searchBarView = subviews[0]

        for var i=0; i<searchBarView.subviews.count; ++i {
            if searchBarView.subviews[i].isKindOfClass(UITextField) {
                for subView in searchBarView.subviews[i].subviews{

                    //find the search icon and set the width/height for this.
                    if let bookmark = subView as? UIImageView{
                        bookmark.frame.size.height = 20
                        bookmark.frame.size.width = 20
                    }

                    //Find the Bookmark button and set the width/height for this.
                    if let button = subView as? UIButton{
                        button.frame.size.height = 40
                        button.frame.size.width = 40
                    }
                }
                index = i
                //break
            }
        }

        return index
    }

因此,您可以看到我在子视图中查看搜索图标并为此设置大小。我还尝试捕获UIButton作为书签,当它找到这个子视图时,也会设置大小。我需要看看这个wil功能是否也适用于旧操作系统版本。我仍然试图找到取消按钮的子视图到目前为止没有运气

0 个答案:

没有答案