我有UIAlertView
风格UIAlertViewStyleSecureTextInput
。它工作完美。但是当应用程序退出活动,然后重新激活时,之前输入到文本输入中的文本......仍然可见。但是当我试图附加一些下一个字符时,所有以前的文本都突然消失了。这种行为可能是什么原因,以及如何改变它?
问问题
873 次
2 回答
1
这是 的默认行为UIAlertViewStyleSecureTextInput
。
该功能类似于UITextField
将属性secureTextEntry
设置为YES
。
于 2013-04-04T12:37:30.280 回答
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.m
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:@""];
}
在您的 ViewController.h 中,只需声明此方法
- (void)setText;
在你的 appdelegate.m 中只需放置这个
- (void)applicationDidEnterBackground:(UIApplication *)application
{
[self.viewController setText];
}
于 2013-04-04T13:26:42.253 回答