我在我的UITextFields上將UIKeyboardType設置爲UIKeyboardTypeNumberPad。但是,這隻允許用戶輸入正整數。我需要用戶能夠輸入負值或正值的整數。是否有一個與UIKeyboardTypeNumberPad相同的UIKeyboardType,但也包含「 - 」(減號)符號,如果沒有,我可以創建它嗎?是否有像數字鍵盤一樣的UITextField鍵盤類型,但允許使用負數?
謝謝。
我在我的UITextFields上將UIKeyboardType設置爲UIKeyboardTypeNumberPad。但是,這隻允許用戶輸入正整數。我需要用戶能夠輸入負值或正值的整數。是否有一個與UIKeyboardTypeNumberPad相同的UIKeyboardType,但也包含「 - 」(減號)符號,如果沒有,我可以創建它嗎?是否有像數字鍵盤一樣的UITextField鍵盤類型,但允許使用負數?
謝謝。
惱人的是,沒有這樣的系統鍵盤可用。除了創建自定義鍵盤之外,最好的選擇是UIKeyboardTypeNumbersAndPunctuation
,並執行驗證以強制執行有效的數字輸入。
添加一個減去accesoryView,你需要有你的textField作爲一個屬性,在這個例子中這個屬性是:myTextField;
你需要添加,創建你的myTextField這個代碼後,b.e.在viewDidLoad中:
UIView *inputAccesoryView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 40)];
// It´s good idea a view under the button in order to change the color...more custom option
inputAccesoryView.backgroundColor = [UIColor whiteColor];
UIButton *minusButton = [[UIButton alloc] initWithFrame:CGRectMake(([UIScreen mainScreen].bounds.size.width-150)/2, 5, 150, 30)];
// configure the button here... you choose.
[minusButton setTitle:@"-" forState:UIControlStateNormal];
[minusButton addTarget:self action:@selector(changeNumberSing) forControlEvents:UIControlEventTouchUpInside];
[inputAccesoryView addSubview:minusButton];
self.myTextField.inputAccessoryView = inputAccesoryView;
,並添加您的viewController此按鈕的方法:
-(void)changeNumberSing
{
if ([self.myTextField.text hasPrefix:@"-"])
{
self.myTextField.text = [self.myTextField.text substringFromIndex:1];
}else
{
self.myTextField.text = [NSString stringWithFormat:@"-%@",self.myTextField.text];
}
}
創建自定義鍵盤 – Sport 2014-12-03 12:48:36
其他選項,添加一個減號( - )按鈕作爲一個inputAccessoryView。或者很滿意:UIKeyboardTypeNumbersAndPunctuation – 2014-12-03 12:55:16
@OnikIV如何添加一個減號按鈕作爲inputAccessoryView? – AndyW 2014-12-03 13:07:07