|
Packit Service |
fa4841 |
/*
|
|
Packit Service |
fa4841 |
Custom table cell with secret edit text field
|
|
Packit Service |
bb5c11 |
|
|
Packit Service |
fa4841 |
Copyright 2013 Thincast Technologies GmbH, Author: Martin Fleisz
|
|
Packit Service |
bb5c11 |
|
|
Packit Service |
bb5c11 |
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
|
|
Packit Service |
bb5c11 |
If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
Packit Service |
fa4841 |
*/
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
#import "EditSecretTextTableViewCell.h"
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
@implementation EditSecretTextTableViewCell
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
@synthesize label = _label, textfield = _textfield;
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
- (void)awakeFromNib
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
bb5c11 |
[super awakeFromNib];
|
|
Packit Service |
bb5c11 |
[_unhide_button setTitle:NSLocalizedString(@"Unhide", @"Button title 'Unhide'") forState:UIControlStateNormal];
|
|
Packit Service |
bb5c11 |
[_unhide_button addTarget:self action:@selector(togglePasswordMode:) forControlEvents:UIControlEventTouchUpInside];
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
- (void)setEnabled:(BOOL)enabled
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
bb5c11 |
[_label setEnabled:enabled];
|
|
Packit Service |
bb5c11 |
[_textfield setEnabled:enabled];
|
|
Packit Service |
bb5c11 |
[_unhide_button setEnabled:enabled];
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
#pragma mark - action handlers
|
|
Packit Service |
fa4841 |
- (void)togglePasswordMode:(id)sender
|
|
Packit Service |
fa4841 |
{
|
|
Packit Service |
bb5c11 |
BOOL isSecure = [_textfield isSecureTextEntry];
|
|
Packit Service |
bb5c11 |
|
|
Packit Service |
bb5c11 |
if (isSecure)
|
|
Packit Service |
bb5c11 |
{
|
|
Packit Service |
bb5c11 |
[_unhide_button setTitle:NSLocalizedString(@"Hide", @"Button title 'Hide'") forState:UIControlStateNormal];
|
|
Packit Service |
bb5c11 |
[_textfield setSecureTextEntry:NO];
|
|
Packit Service |
bb5c11 |
}
|
|
Packit Service |
bb5c11 |
else
|
|
Packit Service |
bb5c11 |
{
|
|
Packit Service |
bb5c11 |
BOOL first_responder = [_textfield isFirstResponder];
|
|
Packit Service |
bb5c11 |
// little trick to make non-secure to secure transition working - this seems to be an ios bug:
|
|
Packit Service |
bb5c11 |
// http://stackoverflow.com/questions/6710019/uitextfield-securetextentry-works-going-from-yes-to-no-but-changing-back-to-y
|
|
Packit Service |
bb5c11 |
[_textfield setEnabled:NO];
|
|
Packit Service |
bb5c11 |
[_unhide_button setTitle:NSLocalizedString(@"Unhide", @"Button title 'Unhide'") forState:UIControlStateNormal];
|
|
Packit Service |
bb5c11 |
[_textfield setSecureTextEntry:YES];
|
|
Packit Service |
bb5c11 |
[_textfield setEnabled:YES];
|
|
Packit Service |
bb5c11 |
if (first_responder)
|
|
Packit Service |
bb5c11 |
[_textfield becomeFirstResponder];
|
|
Packit Service |
bb5c11 |
}
|
|
Packit Service |
fa4841 |
}
|
|
Packit Service |
fa4841 |
|
|
Packit Service |
fa4841 |
@end
|