Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > UISearchBar

UISearchBar

サーチバー画像

ナビゲーションバー等と一緒に利用されるサーチバーです。検索機能をコントロールに追加したい場合にご利用ください

UISearchBarのクラス階層

NSObject

UIResponder

UIView

UISearchBar


参考:UIKit Framework Reference UISearchBar Class Reference
参考:025 UISearchBarの表示
参考:Swift: UISearchBar: Get text when search button clicked
参考:How to Add Table View Search in Swift
参考:UISearchBarに決定ボタンを追加するカスタマイズ方法について

やってみた

シンプルな作成方法です。


let mySearchBar = UISearchBar()
mySearchBar.delegate = self //UISearchBarDelegate
mySearchBar.frame = CGRectMake(0, 0, 300, 50)
mySearchBar.layer.position = CGPoint(x: self.view.bounds.width/2, y: 50)
mySearchBar.showsCancelButton = true
mySearchBar.placeholder = "会社への不満を入力して下さい"
self.view.addSubview(mySearchBar)
        

上記ではSearchBarをローカルに宣言していますので使い勝手がすこし悪いので 、全体のコードをも載せておきます。


import UIKit
class ViewController: UIViewController, UISearchBarDelegate {
    
    var mySearchBar: UISearchBar!
    var myLabel : UILabel!
    
    override func viewDidLoad() {
        super.viewDidLoad()
       
         //サーチバー作成
        mySearchBar = UISearchBar()
        mySearchBar.delegate = self
        mySearchBar.frame = CGRectMake(0, 0, 300, 50)
        mySearchBar.layer.position = CGPoint(x: self.view.bounds.width/2, y: 50)
        mySearchBar.showsCancelButton = true
        mySearchBar.placeholder = "会社への不満を入力して下さい"
        self.view.addSubview(mySearchBar)
        
        //ラベル(出力管理用)
        myLabel = UILabel(frame: CGRectMake(10,80,300,30))
        myLabel.layer.borderWidth = 1.0
        myLabel.layer.borderColor = UIColor.grayColor().CGColor
        self.view.addSubview(myLabel)
        
    }
    
     //サーチバー更新時(UISearchBarDelegateを関連づけておく必要があります)
    func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
        myLabel.text = searchText
    }
    
    //キャンセルクリック時(UISearchBarDelegateを関連づけておく必要があります)
    func searchBarCancelButtonClicked(searchBar: UISearchBar) {
        myLabel.text = ""
        mySearchBar.text = ""
    }
    
    //サーチボタンクリック時(UISearchBarDelegateを関連づけておく必要があります)
    func searchBarSearchButtonClicked(searchBar: UISearchBar) {
        myLabel.text = "社内に同じ意見があるか検索中..."
        mySearchBar.text = ""
        self.view.endEditing(true)
    }
    
}

その他、サーチバーに影をつけたり、タイトル付けたり、キャンセルボタンではなく決定ボタンへ等のカスタマイズ等も可能です。 Swift Docsさんがとても分かりやすいのでぜひご確認ください。

サーチバー画像

↓こんな記事もありますよ!

Pre特殊文字難民

記事を書いている時によくつまずくことがあります。preでコードを表示する際に、 カッコを使うと文章が消えてしまったり、ドルマークの変数が表示できなかったり。その度に検索して探しているのでサイトの中に入れてしまいます。 以前のバックスラッシュもそうですが、こういった特殊文字難民対策のページにしておきます。

presentViewControllerで画面遷移下からビョーン

下からビョーンとUIViewControllerを出す方法を記載します。この処理も多用していたのですがこのHPになかったので追記しました。 Navigationと連動させた横へシャーと移動するスライドの関数(pop)とは違うので注意です。

UISlider

横バーをぐりぐり移動させて値変更させるコントロールです。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!