2011-12-07 21 views
0

私は6つのテキストfield.iを持っています現在のカーソル位置(テキストフィールドがあるカーソル)を取得したい。android onfocus .after私はその位置に近いスライダを描画する必要がありますテキストフィールド。 iPhone用のAPIはありますか?私はiPhoneとXcodeが初めてです。iPhoneのテキストフィールドのカーソル位置を取得する方法

+0

xtfield私は正しいですか? – iPhone

+0

@iPhone私はテキストフィールドが現在のcurserを知りたいですか?私はtextfield1またはtextfield2またはtextfield3などを意味します。like.iはXとYの位置を取得し、そのテキストフィールドの近くにスライダを描画します。 –

+1

すべてのテキストフィールドを繰り返し処理し、テキストフィールドが最初のレスポンダであるかどうかを確認できます。そうであれば、その特定のテキストフィールドにカーソルがあります。 –

答えて

1
- (void)textFieldDidEndEditing:(UITextField *)textField 
{ 
    [textField resignFirstResponder]; 
} 

ここ「for」ループための独自のロジックを追加します。私は自分のロジックを使用しています。 (私の要求に従って)。

 NSArray *subviews = [[NSArray alloc] initWithArray:self.view.subviews]; 
     for(UIView *subview in subviews) 
     if([subview isKindOfClass:[UITextField class]]) 
     { 
      UITextField *textField = (UITextField *) subview; 
      if([textField isFirstResponder]) 
      { 
       // do whatever you want 
      } 
     } 
0

あなたは画面の鶏の中央にテキストフィールドが

を使用し確認したい場合はまずあなたがNIDにScrollViewを追加して接続し、すべてのTextFieldのdelegeteがfileOwner

で接続し、このコード

を実装しています

あなたの見解によると、より良いです。

#pragma mark - 
#pragma mark textField Delegte 

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField{ 

    [self scrollViewToCenterOfScreen:textField];  
    return YES; 

    } 

- (void)scrollViewToCenterOfScreen:(UIView *)theView { 
    CGFloat viewCenterY = theView.center.y; 
    CGRect applicationFrame = [[UIScreen mainScreen] applicationFrame]; 

    CGFloat availableHeight = applicationFrame.size.height - 200;   // Remove area covered by keyboard 

    CGFloat y = viewCenterY - availableHeight/2.0; 
    if (y < 0) { 
     y = 0; 
    } 
    [scrollview setContentOffset:CGPointMake(0, y) animated:YES]; 

} 

-(BOOL) textFieldShouldReturn:(UITextField *)textField{ 

    if ([textField isEqual:textField1]) 
    { 
     [textField2 becomeFirstResponder]; 
    } 
    else if ([textField isEqual:textField2]) 
    { 
     [textField3 becomeFirstResponder]; 
    } 
    else if ([textField isEqual:textField3]) 
    { 
     [textField4 becomeFirstResponder]; 
    } 
    else 
    { 
     [textField4 resignFirstResponder];  
     [scrollview setContentOffset:CGPointMake(0, 0) animated:YES]; 
    } 

    return YES; 
} 
関連する問題