Hatena::ブログ(Diary)

このブログは証明できない。

2009-11-27

[]iPhone SDKで、アクティブな(フォーカスのある)UITextFieldを取得するには?

MacBookのトラックパッドって快適ですよね。Magic Mouseもなかなか快適です。iPhoneのタッチスクリーンも快適です。で、これだけ指先をこすり続けてたら、指紋がすり減ってなくなってしまうんじゃないでしょう。本気で不安になっています。ああ、すでに指紋が薄くなってるかも。


ところで、iPhone SDKの話です。UITextFieldが複数並んでいるとき、アクティブな(フォーカスのある)UITextFieldを取得することってできるのでしょうか。調べてみましたが、やり方が見つかりませんでした。そこで、苦し紛れにこんな方法を。


複数のUITextFieldのEditingDidBeginとEditingDidEndアクションを、それぞれ1つのメソッドでハンドルします。

@interface TestViewController : UIViewController {
    UITextField *activeField;
}

- (IBAction)editingDidBegin:(id)sender;
- (IBAction)editingDidEnd:(id)sender;

@end

で、こんなカンジで実装。

- (IBAction)editingDidBegin:(id)sender {
    activeField = sender;
}


- (IBAction)editingDidEnd:(id)sender {
    activeField = nil;
}

うーん。一発でバシッと取得する方法がある気がするのですが。.NETならContainerControl.ActiveControlプロパティで一発なのに。。。ホントにないの?かゆいところに手が届かないの?それがiPhone SDKくおりてぃ?

forestbookforestbook 2013/07/28 00:01 textFieldDidBeginEditing を使うと同じことができるようです。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証