2014-12-29 4 views
0

Это может быть глупый вопрос, Я искал эту лот и нашел несколько ответов. но мне не помоглиUITextView не редактируется на UITableViewCell

Я добавляю UItextView на моем UITableViewCell. (Не пользовательские ячейки)

Вот мой код

UITextView *ansTextV = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height)]; 
ansTextV.editable = YES; 
ansTextV.backgroundColor = [UIColor redColor]; 
[ansTextV setFont:[UIFont fontWithName:@"OpenSans" size:25]]; 
[cell.contentView addSubview:ansTextV]; 
[ansTextV release]; 

UITextView не редактируется. , но в то же время, когда я добавляю этот текст на self.view, он доступен для редактирования. Но не на UITableView.

Я проверил на UITableview взаимодействие и UITableViewCell редактируемый. Но не работал.

Что я делаю неправильно. Спасибо за помощь

+0

показать свой код для cellForRowAtIndexPath. –

+0

@Dheeraj выше - код только что возвращающая ячейка в конце – Sagar

+0

тот же код работает на моем конце. –

ответ

0
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *cellIdentifier = @"CellIdentifier"; 
    UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; 

    UITextView *ansTextV = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height)]; 
    ansTextV.editable = YES; 
    ansTextV.backgroundColor = [UIColor redColor]; 
    [ansTextV setFont:[UIFont fontWithName:@"OpenSans" size:25]]; 
    [cell.contentView addSubview:ansTextV]; 
    ansTextV=nil; 

    return cell; 
} 

Я сделал образец кода для работы на моем конце. Я использовал раскадровку и добавил столик на viewcontroller plz check screen shot enter image description here

+0

также я добавил текстовое изображение программно. –

+0

Я решил это , указав высоту для него в высоту для Row благодаря всем извините за беспокойство – Sagar

0

Попробуйте это:

[tableView setUserInteractionEnabled:YES]; 
[cell setUserInteractionEnabled:YES]; 
[ansTextV setEditable:YES]; 
[ansTextV setUserInteractionEnabled:YES]; 

И кстати, я думаю, что может быть еще одна проблема.

UITextView *ansTextV = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height)]; 

Проверьте, что размер cell.frame.size.width & cell.frame.size.height.

Надеется, что это помогает .. :)

+0

Привет, Рашад, я пробовал, не работал – Sagar

+0

@stallone> Проверить мои обновления – Rashad

+0

@Rashid, cell.frame.size.width = 320 и cell.frame.size.height = 85, это то, что я получаю Когда я NSlog кадры ячейки. – Sagar

0

Если он работает при добавлении на UIView тогда ваш делегат установлены правильно, так что теперь попробовать:

cell.userinteractionenabled=YES; 
yourTableView.userenterationEnabled=YES; 

Может быть, это будет работать для вас.

0

Попробуйте с adding следующей строкой перед вами return Cell в cellForRowAtIndexPath Method.

[cell.contentView bringSubviewToFront:ansTextV]; 
0

В viewDidLoad() метод, попробуйте этот код: метод

[self.view setUserInteractionEnabled:YES]; 
[self.tableView setUserInteractionEnabled:YES]; 

Также в вашем cellForRowAtIndexPath(), попробуйте этот код:

[cell setUserInteractionEnabled:YES]; 
[cell.contentView setUserInteractionEnabled:YES]; 
[cell.contentView addSubview:ansTextV]; 
[cell.contentView bringSubviewToFront:ansTextV]; 
[ansTextV setUserInteractionEnabled:YES]; 
[ansTextV setEditable:YES]; 
0

я думаю, вы должны добавлять в задняя сторона чего-то, средство для его использования, вы должны принести его на передний план. Попробуйте это:

[yourTableViewName bringSubviewToFront:yourTextView]; 

это приведет к тому, что ваш backView будет спереди, и это будет непроницаемо.

Смежные вопросы