プライベート API を使用せずに の選択背景色を取得 することは可能ですか?UITextField
質問する
1633 次
4 に答える
2
いいえ、そのためのパブリック API はありません。
ただし、プライベート API で試すことができます。
UITextField
という名前のインスタンス メソッドがselectionHighlightColor
ありUIColor
、同じ名前のクラス メソッドがあります。どちらも同じ色を返します[UIColor colorWithRed:0 green:.33 blue:.65 alpha:.2]
。
于 2013-07-11T12:52:55.573 に答える
1
利用可能な実際のメソッドはありませんが、UILongPressGestureRecognizer を使用してトリックを実行するメソッドを書きました。選択した背景色を設定するか、単に読み取るかが不明ですか? しかし、これを試してみると、いくつかのアイデアが得られるかもしれません。
-(void)viewDidLoad
{
UILongPressGestureRecognizer *longPress = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(selectionDetected:)];
longPress.minimumPressDuration=0.3;//you could vary this value for whatever you prefer
[self.yourTextField addGestureRecognizer:longPress];
[longPress release];
}
-(void)selectionDetected:(UILongPressGestureRecognizer*)longPress
{
if(longPress.state==1)
{
self.yourTextField.backgroundColor = [UIColor blueColor];//selected
}
else if(longPress.state==3)
{
self.yourTextField.backgroundColor= [UIColor orangeColor];//no longer selected..put back to original color
}
}
ユーザーが指を離すまで (画面上を移動しても)、「選択された」色のままです。これが本当にあなたが探しているものかどうかはわかりませんが、誰かの助けになるかもしれません.
于 2013-07-17T23:32:55.790 に答える
1
phix23 の回答に基づいて、UITextField
サブクラスを作成してプロパティを上書きできselectionHighlightColor
ます。お気に入り:
- (UIColor *)selectionHighlightColor{
return [UIColor clearColor];
}
本番環境でも iOS 9.3 でテスト済み
于 2016-05-03T08:49:17.493 に答える
0
いいえ Apple はそのような API を提供していません。
于 2013-07-17T13:13:23.267 に答える