239

iOSでカーソル/キャレットの色をUITextField(そして同じ答えであれば)変更することについて疑問に思っています。UITextViewOSX 開発に関する回答は見たことがありますが、iOS に関する回答はありません。

これは可能ですか?

4

16 に答える 16

44

iOS7 では、textField の tintColor を簡単に変更できます。

于 2013-09-12T08:51:26.373 に答える
22

スウィフト 3:

  UITextField.appearance().tintColor = UIColor.black
  UITextView.appearance().tintColor = UIColor.black
于 2015-03-12T20:15:21.393 に答える
14
yourTextField.tintColor = [UIColor whiteColor];

コードで設定すると機能します.'cosどういうわけか、カラートリガーはInterface Builder(Xcode 6.1.1)でそれを行いません. 外観プロキシを変更する必要なく、うまく適合しました。

于 2015-04-30T13:25:16.807 に答える
13

注: この回答は古くなっているため、iOS 7 より前の開発にのみ使用してください。iOS 7 の外観プロキシを使用した 1 行のソリューションについては、他の回答を参照してください。

私が取り組んでいたプロジェクトで同じ問題に直面した後、私はこの質問にたどり着きました。

既存のプライベート API を使用しないため、AppStore レビュー チームに受け入れられるソリューションを作成することができました。

UITextField を拡張する DGTextField というコントロールを作成しました。

于 2013-01-21T12:37:58.590 に答える
3

より一般的なアプローチは、UIView の外観の tintColor を設定することです。

UIColor *myColor = [UIColor purpleColor];
[[UIView appearance] setTintColor:myColor];

多くのデフォルトの UI 要素を使用している場合は理にかなっています。

于 2013-10-04T14:38:33.177 に答える
2

試してみてください、それは私のために働いています。

[[self.textField valueForKey:@"textInputTraits"] setValue:[UIColor redColor] strong textforKey:@"insertionPointColor"];
于 2013-06-07T10:24:23.703 に答える
1

これはプライベート プロパティにアクセスすることによってのみ可能であり、そのため Apple AppStore アプリの拒否を引き起こす可能性があります。

このStackoverflowの質問を見てください

于 2012-09-23T13:01:19.593 に答える
0

Durgesh のアプローチは機能します。

私もそのような KVC ソリューションを何度も使用しました。文書化されていないように見えますが、機能します。率直に言って、ここではプライベート メソッドは使用しません。正当な Key-Value コーディングのみを使用します。

PS 昨日、私の新しいアプリは、このアプローチで問題なく AppStore に登場しました。また、一部の読み取り専用プロパティ (navigatonBar など) またはプライベート ivar を変更する際に KVC を使用するのは初めてではありません。

于 2013-09-16T18:41:57.610 に答える
0

UITextFieldが fromの場合、UISearchBar最初にtextFieldfrom を取得してからプロパティsearchBarを適用します。tintColor

let textFieldInsideSearchBar = searchBar.value(forKey: "searchField") as? UITextField
textFieldInsideSearchBar?.tintColor = UIColor.lightGray
于 2018-08-22T05:45:35.307 に答える