forked from escoz/QuickDialog
-
Notifications
You must be signed in to change notification settings - Fork 0
/
QAutoEntryElement.m
116 lines (96 loc) · 3.74 KB
/
QAutoEntryElement.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
// created by Iain Stubbs but based on QEntryTableViewCell.m
//
// Copyright 2011 ESCOZ Inc - http://escoz.com
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
// file except in compliance with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software distributed under
// the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
// ANY KIND, either express or implied. See the License for the specific language governing
// permissions and limitations under the License.
//
#import "QAutoEntryElement.h"
#import "QuickDialog.h"
@implementation QAutoEntryElement
@synthesize textValue;
@synthesize placeholder;
@synthesize hiddenToolbar;
@synthesize autoCompleteValues = _autoCompleteValues;
@synthesize lastAutoComplete;
@synthesize autoCompleteColor;
@synthesize delegate = _delegate;
- (QAutoEntryElement *)init {
self = [super init];
if (self){
self.autocapitalizationType = UITextAutocapitalizationTypeSentences;
self.autocorrectionType = UITextAutocorrectionTypeDefault;
self.keyboardType = UIKeyboardTypeDefault;
self.keyboardAppearance = UIKeyboardAppearanceDefault;
self.returnKeyType = UIReturnKeyDefault;
self.enablesReturnKeyAutomatically = NO;
self.secureTextEntry = NO;
}
return self;
}
- (QAutoEntryElement *)initWithTitle:(NSString *)string value:(NSString *)param placeholder:(NSString *)string1;
{
self = [self init];
if (self) {
_title = string;
textValue = param;
placeholder = string1;
}
return self;
}
- (UITableViewCell *)getCellForTableView:(QuickDialogTableView *)tableView controller:(QuickDialogController *)controller {
QAutoEntryTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"QuickformAutoEntryElement"];
if (cell==nil){
cell = [[QAutoEntryTableViewCell alloc] init];
}
[cell applyAppearanceForElement:self];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
cell.textField.enabled = self.enabled;
cell.textField.userInteractionEnabled = self.enabled;
cell.textField.textAlignment = self.appearance.entryAlignment;
cell.imageView.image = self.image;
[cell prepareForElement:self inTableView:tableView];
return cell;
}
- (void)selected:(QuickDialogTableView *)tableView controller:(QuickDialogController *)controller indexPath:(NSIndexPath *)indexPath {
if(self.enabled){
[super selected:tableView controller:controller indexPath:indexPath];
}
}
- (void)fetchValueIntoObject:(id)obj {
if (_key==nil)
return;
[obj setValue:textValue forKey:_key];
}
- (NSString *)textField:(DOAutocompleteTextField *)textField completionForPrefix:(NSString *)prefix
{
NSString* lowPrefix = [prefix lowercaseString];
for (NSString *string in [textField getAutoCompletes])
{
NSString* strlower = [string lowercaseString];
if([strlower hasPrefix:lowPrefix])
{
NSRange range = NSMakeRange(0,prefix.length);
lastAutoComplete = string;
return [string stringByReplacingCharactersInRange:range withString:@""];
}
}
lastAutoComplete = @"";
return @"";
}
#pragma mark - UITextInputTraits
@synthesize autocorrectionType = _autocorrectionType;
@synthesize autocapitalizationType = _autocapitalizationType;
@synthesize keyboardType = _keyboardType;
@synthesize keyboardAppearance = _keyboardAppearance;
@synthesize returnKeyType = _returnKeyType;
@synthesize enablesReturnKeyAutomatically = _enablesReturnKeyAutomatically;
@synthesize secureTextEntry = _secureTextEntry;
@end