アプリのUISearchBarsの場合、iOS 7で実行しているときに、バーにカーソルが表示されていません。
最小ターゲット6でSDK 7を使用しています。ナビゲーションバーの半透明性をオフにし、実行時に色を設定します。私たちが違うやり方でやっている他のことは考えられません。
私たちの問題は、色合いが白に設定されていたので、私はそれを見ませんでした。
セットする
searchBar.tintColor = [UIColor blueColor];
検索ボックスのプロパティウィンドウ
表示セクションを開く>色の設定-デフォルト。
これが役立つことを願っています。
これはSwiftでそれを行う方法です:
override func viewWillAppear(animated: Bool) {
self.searchBar.tintColor = UIColor.whiteColor()
let view: UIView = self.searchBar.subviews[0] as! UIView
let subViewsArray = view.subviews
for (subView: UIView) in subViewsArray as! [UIView] {
println(subView)
if subView.isKindOfClass(UITextField){
subView.tintColor = UIColor.blueColor()
}
}
}
searchBar.tintColor = view.tintColor // self.view usually has the proper tintColor
より良い .blue
または何でも。
ストーリーボード、xib、またはコードでUISearchBarのtintColorを設定するだけです。 XcodeはデフォルトのtintColorを無視しているようです。
SearchBarsサブビューをループして、uitextfieldサブビューを取得し、その@ "insertionPointColor"値を目的の色に設定できます。動作しますが、プライベートAPIです
for (UIView *subView in self.searchBar.subviews) {
if ([subView isKindOfClass:[UITextField class]]) {
[[(UITextField *) subView valueForKey:@"textInputTraits"] setValue:[UIColor blackColor] forKey:@"insertionPointColor"];
}
}