假设Bobby B是正确的,因为不可能改变秘密角色,
我在此提出,
没有任何保证和任何适用的警告,
因为这是一个可怕的kludge,肯定会让你在某些时候头痛,
希望不被过度投票:
/* don't ever use this PROOF OF CONCEPT CODE for production use */
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if ( self.backing == nil ) self.backing = @"";
static BOOL pasting = false;
if ( !pasting )
{
self.backing = [self.backing stringByReplacingCharactersInRange:range withString:string];
NSLog(@"backing: %@",self.backing);
if ( [string length] == 0 ) return YES; // early bail out when just deleting chars
NSString *sec = @"";
for ( int i=0;i<[string length]; i++ ) sec = [sec stringByAppendingFormat:@"?"];
pasting = true;
[[UIPasteboard generalPasteboard] setString:sec];
[textField paste:self];
return NO;
} else {
pasting = false;
return YES;
}
}
/* you have been warned */
Run Code Online (Sandbox Code Playgroud)
将您UITextField的委托设置为包含此函数的类.
只要确保你有self.backing一个保留NSString*.需要复制和粘贴kludge来保持光标位置.
我对粘贴一无所知,这是一个疯狂的猜测并且它有效,但你确实需要找出这是否会在这方面导致一些问题.我测试了一点,似乎没有任何问题.
你也可以改变字体......
如果更改unicode字符'BULLET'(U + 2022),则可以自定义密码字符.那里有很多免费的字体编辑器.我用这个http://www.cr8software.net/typex.html
要向项目添加自定义字体,请查看 - 此链接
这很容易
然后你不必编写任何正常的代码.
| 归档时间: |
|
| 查看次数: |
7232 次 |
| 最近记录: |