これは、私がtableviewに2つのテキストフィールドを作成し、deallocメソッドでそれらを解放する方法です。UITextfieldを入力するとメモリが大幅に増加する
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *MyIdentifier = @"MyIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:MyIdentifier] autorelease];
}
cell.accessoryType = UITableViewCellAccessoryNone;
if ([indexPath row] == 0) {
text = [[UITextField alloc] initWithFrame:CGRectMake(5, 5, 300, 30)];
text.delegate=self;
text.userInteractionEnabled=NO;
text.contentVerticalAlignment=UIControlContentVerticalAlignmentCenter;
if (qNum-1 == 53) {
[email protected]"Category";
}
[cell.contentView addSubview:text];
}
if ([indexPath row] == 1) {
text2 = [[UITextField alloc] initWithFrame:CGRectMake(5, 5, 300, 30)];
text2.delegate=self;
text2.userInteractionEnabled=NO;
if(qNum-1==53) {
[email protected]"Subcategory";
}
text2.contentVerticalAlignment=UIControlContentVerticalAlignmentCenter;
[cell.contentView addSubview:text2];
}
cell.selectionStyle = UITableViewCellSelectionStyleNone;
return cell;
}
問題は、仮想キーボードが表示され、テキストフィールドに入力するとすぐにメモリが大幅に増加することです。誰かがこの問題から私を助けてくれますか?前もって感謝します。ここで
は、私がデリゲートメソッド- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return YES;
}
- (void)textFieldDidBeginEditing:(UITextField *)textField{
if([text.text isEqualToString:@"United States"]||[text.text isEqualToString:@"Australia"]){
text2.userInteractionEnabled=NO;
[email protected]"State";
myPickerView.hidden=YES;
myPickerView2.hidden=NO;
[actionSheet showInView:mainView];
[actionSheet setBounds:CGRectMake(0, 0, 320, 400)];
}
}の内側に書かれ
あなたの問題は、テキストフィールドの代理メソッドにあると思います。そのコードを投稿し、投稿時にフォーマットしてください。そうすれば、私たちがあなたを助けるのがずっと楽になります。 –