我的UIAlertView
风格为UIAlertViewStyleSecureTextInput
。它完美无缺。但是当应用程序重新激活,然后重新激活时,之前键入文本输入的文本仍然可见。但是当我试图追加一些下一个字符时,之前的所有文字都突然消失了。
这种行为可能是什么原因,以及如何改变它?
答案 0 :(得分:1)
这是UIAlertViewStyleSecureTextInput
的默认行为。
UITextField
的功能与属性secureTextEntry
设置为YES
的功能类似。
答案 1 :(得分:0)
第一天
ViewController.m中的
- (void)viewDidLoad
{
[super viewDidLoad];
alert = [[UIAlertView alloc]init];
[alert setDelegate:self];
[alert setAlertViewStyle:UIAlertViewStyleSecureTextInput];
[alert show];
}
- (void)setText
{
UITextField *txt = [alert textFieldAtIndex:0];
[txt setText:@""];
}
在viewController.h中
设置代理
#import "AppDelegate.h"
@interface ViewController : UIViewController <UIPopoverControllerDelegate,alerttext>
appdelegate.h中的
@protocol alerttext <NSObject>
- (void)setText;
@end
#import <UIKit/UIKit.h>
@class ViewController;
@interface AppDelegate : UIResponder <UIApplicationDelegate>
{
id <alerttext> delegate;
}
@property (strong, nonatomic) id <alerttext> delegate;
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) ViewController *viewController;
@end
您的appDelegate.m 中的
第二种方式 ,只需声明此方法 就是这个 @synthesize delegate;
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[self.viewController setText];
}
在ViewController.h中UITextField *text;
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
alert = [[UIAlertView alloc]init];
[alert setDelegate:self];
[alert setAlertViewStyle:UIAlertViewStyleSecureTextInput];
[alert show];
text = [alert textFieldAtIndex:0];
}
- (void)setText
{
[text setText:@""];
}
你的appdelegate.m中的- (void)setText;
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[self.viewController setText];
}