정방향으로 만 6 자리 확인 코드를 입력하고 싶습니다. 왼쪽에서 오른쪽으로, UITextfield에서 오른쪽에서 왼쪽으로 삭제하는 것입니다. 텍스트 필드 사이에 집중할 수 없습니다. 텍스트 상자 값을 삭제하거나 변경하려면 오른쪽에서 삭제하고 가장 왼쪽 텍스트 상자에 도달해야합니다. 당신은 우리가보기를 만들 수 있습니다,UItextfield가있는 xamarin IOS에서만 앞으로 및 뒤로 단어 텍스트 박스 포커스를 만드시겠습니까?
0
A
답변
1
첫째 이미지 아래에보고처럼 편집 할 수있는 텍스트 뷰를 추가 할 수 있습니다 그리고 우리가를 표시하기 위해 여섯 개 라벨을 그릴 수
UIView containView = new UIView(new CGRect(0, 200, 300, 50));
View.AddSubview(containView);
UITextView textView = new UITextView();
textView.TintColor = UIColor.Clear;
textView.BackgroundColor = UIColor.Clear;
textView.TextColor = UIColor.Clear;
textView.Frame = containView.Bounds;
textView.Delegate = new MyTextViewDelegate(this);
textView.KeyboardType = UIKeyboardType.NumberPad;
containView.AddSubview(textView);
숫자, 6 개의 포인터 줄, 또한 아래쪽 줄과 같이 :
for (int i = 0; i < 6; i++)
{
UILabel label = new UILabel();
label.Frame = new CGRect(i * 50, 0, 50, 50);
label.TextAlignment = UITextAlignment.Center;
label.TextColor = UIColor.Black;
containView.AddSubview(label);
labelArr.Add(label);
UIView pointerLine = new UIView(new CGRect(i * 50 + 25, 12, 1, 26));
pointerLine.BackgroundColor = UIColor.Blue;
containView.AddSubview(pointerLine);
pointerLine.Layer.AddAnimation(opacityAnimation(), "kOpacityAnimation");
pointlineArr.Add(pointerLine);
if (i > 0) pointerLine.Hidden = true;
UIView line = new UIView(new CGRect(i * 50 + 5, 48, 40, 2));
line.BackgroundColor = UIColor.Gray;
containView.AddSubview(line);
lineArr.Add(line);
}
편집 할 때 pointerLine을 깜박이게하려면 같은 pointerLine에 애니메이션을 추가 : 우리가 추가 또는 번호를 삭제하려고 할 때 마침내
CABasicAnimation opacityAnimation()
{
CABasicAnimation opacityAnimation = CABasicAnimation.FromKeyPath("opacity");
opacityAnimation.From = NSNumber.FromNFloat(1);
opacityAnimation.To = NSNumber.FromNFloat(0);
opacityAnimation.Duration = 0.9;
opacityAnimation.RepeatCount = float.MaxValue;
opacityAnimation.RemovedOnCompletion = true;
return opacityAnimation;
}
우리가 당신의 효과를 얻을 수있는 텍스트 뷰의 위임에 몇 가지 설정을 할 수 있습니다. 이 파일을 참조 할 수있는 대표 파일입니다.
public class MyTextViewDelegate : UITextViewDelegate
{
ViewController superViewController;
public MyTextViewDelegate(ViewController viewController)
{
superViewController = viewController;
}
public override void Changed(UITextView textView)
{
string verStr = textView.Text.Replace(" ", "");
for (int i = 0; i < superViewController.labelArr.Count; i++)
{
UILabel label = superViewController.labelArr[i];
UIView pointerLabel = superViewController.pointlineArr[i];
if (i < verStr.Length)
{
changeViewLayer(i, true);
label.Text = verStr.Substring(i, 1);
}
else
{
changeViewLayer(i, false);
label.Text = "";
}
pointerLabel.Hidden = true;
}
if (verStr.Length >= 6)
{
textView.Text = verStr.Substring(0, 6);
endEdit();
return;
}
else
{
superViewController.pointlineArr[verStr.Length].Hidden = false;
}
}
void endEdit()
{
superViewController.View.EndEditing(true);
}
void changeViewLayer(int index, bool isHidden)
{
UIView line = superViewController.lineArr[index];
if (isHidden)
{
line.BackgroundColor = UIColor.Red;
}
else
{
line.BackgroundColor = UIColor.Gray;
}
}
}
관련 문제
- 1. Safari와 같은 뒤로/앞으로 버튼을 만드시겠습니까?
- 2. 앞으로 단어, 뒤로 단어, 밑줄을 단어의 일부로 만드는 방법은 무엇입니까?
- 3. 앞으로 및 뒤로 슬래시 php
- 4. 아약스 + 뒤로 및 앞으로 버튼
- 5. 브라우저의 뒤로 및 앞으로 단추
- 6. UITextField가있는 텍스트가있는 텍스트
- 7. JSF 뒤로/앞으로 버튼과 Ajax
- 8. 앞으로 가려면 버튼을, 배열을 뒤로 이동하려면 버튼 하나를 만드시겠습니까?
- 9. Xamarin Forms HttpClient iOS에서만 GetAsync가 실패 함
- 10. 뒤로/앞으로 버튼과 유용성
- 11. 뒤로/앞으로 버튼 이벤트?
- 12. 팬더가 앞으로 뒤로 dataframe
- 13. 이맥스에서 앞으로 단어/뒤로 단어에 대한 임의의 문자
- 14. 명령 모드에서 한 단어 앞으로/뒤로 이동 하시겠습니까?
- 15. iphone에서 페이드 전환이 발생합니다 (앞으로 및 뒤로)
- 16. Google 외부 링크 앞으로 및 뒤로
- 17. jquery 딥 링크, 앞으로 및 뒤로 버튼
- 18. WPF StoryBoard 사용하기 앞으로 및 뒤로
- 19. CakePHP 뒤로 및 앞으로 버튼에 레이아웃이 없습니다.
- 20. 사용자 인증 및 브라우저 뒤로/앞으로 버튼
- 21. AJAX SEO - 뒤로 및 앞으로 버튼
- 22. WebBrowser 컨트롤을위한 뒤로 및 앞으로 단추 추가하기
- 23. IOS 신속 - 3 회전 앞으로 및 뒤로
- 24. 페이지에서 앞으로 및 뒤로 탐색을 구분합니다. Ionic2
- 25. 다른 앞으로, 뒤로 및 기총 소사 속도
- 26. 앞으로 및 뒤로 경로를 애니메이트하는 방법?
- 27. JavaScript 및 브라우저의 뒤로/앞으로 버튼
- 28. 뒤로 및 앞으로 단추 제거 미디어 컨트롤러에서
- 29. 앞으로 및 뒤로 버튼을 사용하여 이미지 반복
- 30. Ajax의 JQuery 뒤로/앞으로 기능
효과를 얻었습니까? –