我有四個UITextFields,我想在UIAlertView中使用步驟,目前這是它看起來像如何通過多個UITextFields
我想做什麼就能做的是一旦達到4個字符的限制,每個字段限制每個字段爲4個字符,然後我希望下一個UITextField成爲第一個響應者。
我也想能夠做到這一點反向,所以如果字符被刪除,一旦沒有在第二場可用字符到第一,並開始刪除等
目前我的代碼是非常馬虎,因爲我只是想得到像這樣的工作..所以這是它看起來像迄今爲止。
//提示用戶輸入註冊在這裏 UIAlertView中*警報= [[UIAlertView中頁頭] initWithTitle:@ 「請註冊設備」 消息:@ 「 」代表:無cancelButtonTitle:@「 OK」 otherButtonTitles:無]。
UITextField *myTextField = [[UITextField alloc] initWithFrame:CGRectMake(12, 45, 53, 30)];
UITextField *myTextField1 = [[UITextField alloc] initWithFrame:CGRectMake(77, 45, 53, 30)];
UITextField *myTextField2 = [[UITextField alloc] initWithFrame:CGRectMake(142, 45, 53, 30)];
UITextField *myTextField3 = [[UITextField alloc] initWithFrame:CGRectMake(207, 45, 53, 30)];
// need to do something with first reasponder once 4 digits has been entered per box etc.
[myTextField becomeFirstResponder];
myTextField.placeholder [email protected]"AAAA";
myTextField.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;
myTextField.textAlignment = NSTextAlignmentCenter;
myTextField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
myTextField1.placeholder [email protected]"AAAA";
myTextField1.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;
myTextField1.textAlignment = NSTextAlignmentCenter;
myTextField1.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
myTextField2.placeholder [email protected]"AAAA";
myTextField2.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;
myTextField2.textAlignment = NSTextAlignmentCenter;
myTextField2.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
myTextField3.placeholder [email protected]"AAAA";
myTextField3.autocapitalizationType = UITextAutocapitalizationTypeAllCharacters;
myTextField3.textAlignment = NSTextAlignmentCenter;
myTextField3.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
[myTextField setBackgroundColor:[UIColor whiteColor]];
[myTextField1 setBackgroundColor:[UIColor whiteColor]];
[myTextField2 setBackgroundColor:[UIColor whiteColor]];
[myTextField3 setBackgroundColor:[UIColor whiteColor]];
[alert addSubview:myTextField];
[alert addSubview:myTextField1];
[alert addSubview:myTextField2];
[alert addSubview:myTextField3];
[alert show];
任何幫助將不勝感激。
// UPDATE: 這是我想使用的委託方法
//.h
<UITextFieldDelegate>
//.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//..
[self.myTextField setDelegate:self];
[self.myTextField1 setDelegate:self];
[self.myTextField2 setDelegate:self];
[self.myTextField3 setDelegate:self];
//..
}
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSLog(@"yay");
return NO;
}
好吧我會盡力處理這個..只是有一個問題與我的shouldChangeCharactersInRange委託方法不被調用,即使我已經將UITextFieldDelegate添加到標題中,並在viewDidLoad方法中設置委託.. – HurkNburkS
這很奇怪,可以你也分享那個代碼? – Raspu
我用示例代碼更新了我的問題,底部顯示了我如何使用文本字段委託。 – HurkNburkS