我在我的应用程序中使用Custom UITableCell和动态UITextView。
我有一个关于ios7的问题,我解释如下:
我在UITable Cell Custom Button上创建了一个视图,如下所示。此视图包含UITextView以输入文本,稍后将其放在单元格上,如注释表。
// For iOS7
UITableView *table = nil;
if([CommonFunction isiOS7]){
table = (UITableView*)[[[[[sender superview] superview] superview] superview] superview];
indexPath=[[NSIndexPath alloc] init];//
indexPath = [table indexPathForCell:self];
}
else {
indexPath=[[NSIndexPath alloc] init];//
indexPath = [(UITableView *)self.superview indexPathForCell: self];
}
NSLog(@"indexPath:%@",indexPath);
if (appDelegate.dictLogedInUserData) {
//[(UITableView*)self.superview scrollToRowAtIndexPath:[(UITableView *)self.superview indexPathForCell:self] atScrollPosition:UITableViewScrollPositionTop animated:YES];
[table scrollToRowAtIndexPath:[table indexPathForCell:self] atScrollPosition:UITableViewScrollPositionTop animated:YES];
TextInputView *txtInput = [[TextInputView alloc] init];
txtInput.delegate=self;
if ([btnAddComment.titleLabel.text length]>0) {
if (![btnAddComment.titleLabel.text isEqualToString:@"Add Comment"]) {
txtInput.txtComments.text = btnAddComment.titleLabel.text;
}
}
txtInput.backgroundColor = [UIColor clearColor];
//[(UITableView*)[self superview] setScrollEnabled:NO];
[table setScrollEnabled:NO];
[self addSubview:txtInput];
[self bringSubviewToFront:txtInput];
}
当使用输入一些文本时我需要将这个UITextView文本值填入我的UITableCell CustomView,其代码如下,这是委托方法:
//InputText Delegates
- (void)didFinishInput:(NSString *)inputedText {
btnAddComment.titleLabel.text = inputedText;
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:indexPath, @"indexPath",
[NSString stringWithFormat:@"%@",inputedText],@"commentText",nil];
NSLog(@"dict:%@",dict);
topic *t = [appDelegate.arrayTopicsData objectAtIndex:indexPath.row];
t.user_comment = inputedText;
[appDelegate.arrayTopicsData replaceObjectAtIndex:indexPath.row withObject:t];
[self LoadDataForIndex:indexPath];
[delegate didAddComment:dict];
[(UITableView*)[self superview] setScrollEnabled:YES];
if ([inputedText length]<=0) {
btnAddComment.titleLabel.text = @"Add Comment";
}
}
在上面的代码中,当我在UITextView上输入文本并按下键盘的Done按钮时,它总是崩溃。它在iOS7中的indexPath上提供了EXE-BAD-Access。
当我将NSString传递给Method时,请帮助我如何在UITextView委托方法上获取Indexpath。
请帮帮我。