我有一个UITextField我通过修改更改通知处理程序内的文本强制格式化.这很有效(一旦我解决了重入问题),但又给我留下了一个唠叨的问题.如果用户将光标移动到字符串末尾以外的某个位置,则我的格式更改会将其移动到字符串的末尾.这意味着用户不能一次插入多个字符到文本字段的中间.有没有办法记住然后重置光标位置UITextField?
我有一个包含二进制数字的字符串.如何将其分成数字对?
假设字符串是:
let x = "11231245"
Run Code Online (Sandbox Code Playgroud)
我想在每2个字符后面添加一个分隔符,例如":"(即冒号).
我希望输出为:
"11:23:12:45"
Run Code Online (Sandbox Code Playgroud)
我怎么能在Swift中这样做?
我正在学习iOS开发,并且很难搞清楚控件的各种事件.对于测试,我有一个UITextField,用户打算输入以下格式的字符串:XXXX-XXXX-XXXX-XXXX
我希望能够检查每个条目后字段中的文本有多长,并查看是否需要在其后附加连字符.我为此设置了我的IBAction功能但是当我将它分配给"Value Changed"事件时它什么也没做,当我在"Editing Did End"上设置它时它工作正常,但只有在用户退出时才会调用控制.
编辑:只是要添加,"编辑已更改"事件也会导致崩溃.我假设这是一个堆栈溢出或文本设置再次调用事件处理程序的东西.
简而言之,有没有办法在用户每次在UITextField中输入字符时设置事件处理程序?
我有一个像@"1234123412341234"的字符串,我需要在每4个字符之间追加空格.
@"1234 1234 1234 1234"
Run Code Online (Sandbox Code Playgroud)
也就是说,我需要NSString像Visa卡类型.我试过这样但我没有得到我的结果.
-(void)resetCardNumberAsVisa:(NSString*)aNumber
{
NSMutableString *s = [aNumber mutableCopy];
for(int p=0; p<[s length]; p++)
{
if(p%4==0)
{
[s insertString:@" " atIndex:p];
}
}
NSLog(@"%@",s);
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下代码创建信用卡类型文本,但无法做到这一点,有什么办法吗?
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let formatter = NSNumberFormatter()
formatter.groupingSize = 4
formatter.groupingSeparator = "-"
formatter.usesGroupingSeparator = true
print("txtCardNumber \(txtCardNumber.text)")
}
Run Code Online (Sandbox Code Playgroud) ios ×5
objective-c ×2
swift ×2
uitextfield ×2
character ×1
hyphen ×1
iphone ×1
nsstring ×1
separator ×1
string ×1
swift2 ×1
uitextrange ×1
xcode ×1