Форум программистов, компьютерный форум CyberForum.ru

Данные из TextField в динамичной таблице - Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS/iPhone Динамическое изменение количество ячеек в UITableView http://www.cyberforum.ru/ios-dev/thread844314.html
Добрый день! Столкнулся с проблемой. Добавил таблицу на обычный вьюконтроллер, вроде все нормально настроил, указал делегат, датасурс. Изначально таблица имеет лишь 1 ячейку. Есть метод, который, грубо говоря, указывает на количество ячеек в этой таблице с помощью пикервью. То есть при выборе числа из этого списка, должно формироваться соответствующее число ячеек. При подтверждении выбора я...
Программирование iOS/iPhone Надо ли (полезно ли) iOS программисту знать Unix? Вот iOS пошёл от Mac OS X, а Mac OS X от UNIX. Посему вопрос: имеет ли смысл iOS-программисту учить UNIX и программирование под UNIX? Или это вообще никаким боком не нужно? http://www.cyberforum.ru/ios-dev/thread842878.html
Программирование iOS/iPhone Пересчет во время анимации
Добрый день. что-то не нахожу простого решения в гугле. Поэтому прошу ваших идей. делаю анимацию для Вьюхи (которая состоит из нескольких сабВьюх) -- меняю фрейм. но во-время анимации--мне надо чтобы происходил вызов метода drawRect: для одной из сабВьюхи (ибо в ней идет пересчет и перерисовка конента CoreGrafic и иже си с ним) Вопрос: как сделать чтобы во время анимации по изменению...
Программирование iOS/iPhone Локализация приложений
Доброго времени суток. Столкнулся с проблемой локализации приложений. Пишу в XCode 4.6 для iOS 6.0-6.1. Добавляю Localizable.strings, прописываю ключи и перевод, а когда подставляю на место строки NSLocalizedString, то вместо строки выводит ключ, а не саму строку. Порыскав по форумам нашел предложения удалить приложение с симулятора, или же проверить правильность написания ключа при...
Программирование iOS/iPhone Обновление данных в таблице http://www.cyberforum.ru/ios-dev/thread838597.html
Добрый день! При работе над проектом возник вопрос... Есть таблица, есть метод загрузки данных с сервера. Когда приходят данные метод должен обновить данные в таблице. Это все понятно и ясно. Делается просто ; Но это происходит не сразу, а через какое то время. Почему так? Почему данные не сразу загружаются? Тоже самое и с сообщениями UIAlert и UIToast. Они появляются не сразу, а...
Программирование iOS/iPhone Настроить полосу прокрутки в xCode Здравствуйте. Дайте, пожалуйста, небольшой совет по настройке xCode. Так уж получилось, что мне гораздо удобнее читать и печатать код, когда он находится в центре экрана. Допустим, начал писать код с чистого листа. Пишу, пишу, код занимает почти все место на экране. Мне неудобно постоянно смотреть в самый низ экрана и я около 30 раз нажимаю Enter, чтобы код переместился в центр экрана и мне... подробнее

Показать сообщение отдельно
opi
7 / 7 / 1
Регистрация: 09.11.2010
Сообщений: 69
24.04.2013, 17:01  [ТС]     Данные из TextField в динамичной таблице
То что текстфилд сомнений нет. Ладно, с этим как нибудь постараюсь разобраться. На данный момент я хотел бы узнать логику как считывать данные с этих текстфилдов? Чтобы в последствии занести их массив. Размер объявлен глобальной переменной, а capacity указывается при указании количества генерации ячеек.
Objective-C
1
subtaskListArray = [[NSMutableArray alloc] initWithCapacity: rowCount];
Вот как мне взять нововведенные данные и сохранить их? Нашел пример как присваивать данные переменным, но с заранее объявленным числом полей и этих самих переменный. Мне кажется, что такой вариант мне не подойдет, ибо не вижу смысла объявлять 20 раз поля и переменные. Вот код:
Кликните здесь для просмотра всего текста
.h
Objective-C
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
//
//  FormTableController.h
//  TableWithTextField
//
//  Created by Andrew Lim on 4/15/11.
#import <UIKit/UIKit.h>
 
@interface FormTableController : UITableViewController<UITextFieldDelegate> {
    NSString* name_ ;
    NSString* address_ ;
    NSString* password_ ;
    NSString* description_ ;    
    
    UITextField* nameField_ ;
    UITextField* addressField_ ;
    UITextField* passwordField_ ;
    UITextField* descriptionField_ ;    
}
 
// Creates a textfield with the specified text and placeholder text
-(UITextField*) makeTextField: (NSString*)text  
                  placeholder: (NSString*)placeholder  ;
 
// Handles UIControlEventEditingDidEndOnExit
- (IBAction)textFieldFinished:(id)sender ;
 
@property (nonatomic,copy) NSString* name ;
@property (nonatomic,copy) NSString* address ;
@property (nonatomic,copy) NSString* password ;
@property (nonatomic,copy) NSString* description ;
 
@end
.m
Objective-C
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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
//
//  FormTableController.m
//  TableWithTextField
//
//  Created by Andrew Lim on 4/15/11.
#import "FormTableController.h"
 
@implementation FormTableController
@synthesize name = name_ ;
@synthesize address = address_ ;
@synthesize password = password_ ;
@synthesize description = description_ ;
 
#pragma mark -
#pragma mark Initialization
 
#pragma mark -
#pragma mark View lifecycle
 
- (void)viewDidLoad {
  [super viewDidLoad];
    
    self.name        = @"" ;
    self.address     = @"" ;
    self.password    = @"" ;
    self.description = @"" ;
}
 
 
#pragma mark -
#pragma mark Table view data source
 
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
  // Return the number of sections.
  return 1;
}
 
 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
  // Return the number of rows in the section.
  return 4;
}
 
 
// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView 
                 cellForRowAtIndexPath:(NSIndexPath *)indexPath {  
    UITableViewCell *cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil] autorelease];
 
    // Make cell unselectable
    cell.selectionStyle = UITableViewCellSelectionStyleNone;
    
    UITextField* tf = nil ; 
    switch ( indexPath.row ) {
        case 0: {
            cell.textLabel.text = @"Name" ;
            tf = nameField_ = [self makeTextField:self.name placeholder:@"John Appleseed"];
            [cell addSubview:nameField_];
            break ;
        }
        case 1: {
            cell.textLabel.text = @"Address" ;
            tf = addressField_ = [self makeTextField:self.address placeholder:@"example@gmail.com"];
            [cell addSubview:addressField_];
            break ;
        }       
        case 2: {
            cell.textLabel.text = @"Password" ;
            tf = passwordField_ = [self makeTextField:self.password placeholder:@"Required"];
            [cell addSubview:passwordField_];
            break ;
        }   
        case 3: {
            cell.textLabel.text = @"Description" ;
            tf = descriptionField_ = [self makeTextField:self.description placeholder:@"My Gmail Account"];
            [cell addSubview:descriptionField_];
            break ;
        }               
    }
 
    // Textfield dimensions
    tf.frame = CGRectMake(120, 12, 170, 30);
    
    // Workaround to dismiss keyboard when Done/Return is tapped
    [tf addTarget:self action:@selector(textFieldFinished:) forControlEvents:UIControlEventEditingDidEndOnExit];    
    
    // We want to handle textFieldDidEndEditing
    tf.delegate = self ;
    
  return cell;
}
 
#pragma mark -
#pragma mark Table view delegate
 
#pragma mark -
#pragma mark Memory management
 
- (void)didReceiveMemoryWarning {
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
    // Relinquish ownership any cached data, images, etc. that aren't in use.
}
 
- (void)viewDidUnload {
    // Relinquish ownership of anything that can be recreated in viewDidLoad or on demand.
    // For example: self.myOutlet = nil;
}
 
- (void)dealloc {
    [super dealloc];
}
 
-(UITextField*) makeTextField: (NSString*)text  
                  placeholder: (NSString*)placeholder  {
    UITextField *tf = [[[UITextField alloc] init] autorelease];
    tf.placeholder = placeholder ;
    tf.text = text ;         
    tf.autocorrectionType = UITextAutocorrectionTypeNo ;
    tf.autocapitalizationType = UITextAutocapitalizationTypeNone;
    tf.adjustsFontSizeToFitWidth = YES;
    tf.textColor = [UIColor colorWithRed:56.0f/255.0f green:84.0f/255.0f blue:135.0f/255.0f alpha:1.0f];    
    return tf ;
}
 
// Workaround to hide keyboard when Done is tapped
- (IBAction)textFieldFinished:(id)sender {
    // [sender resignFirstResponder];
}
 
// Textfield value changed, store the new value.
- (void)textFieldDidEndEditing:(UITextField *)textField {
    if ( textField == nameField_ ) {
        self.name = textField.text ;
    } else if ( textField == addressField_ ) {
        self.address = textField.text ;
    } else if ( textField == passwordField_ ) {
        self.password = textField.text ;
    } else if ( textField == descriptionField_ ) {
        self.description = textField.text ;     
    }
}
 
@end

Принцип в целом ясен, но хотелось бы понять как это сделать при динамической таблице.
 
Текущее время: 12:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru