カスタム ビューを動的に追加していますが、この例外が発生します
例外: ; シンボル スタブ: getpid
ITMCustomView *cView = [[ITMCustomView alloc] initWithFrame:CGRectMake(187, 660, 400, 400)
andOrderedItem:@"dd"
andTag:self.tagNumber
withFoldArray:self.foldTypeArray
withRollArray:self.rollTypeArray];
cView.delegate = self;
//set properties of cView...like cView.txtName.text =@"John";
//self.scrollView.contentSize = CGRectMake(187, 660, 400, 400).size;
/*CGPoint scrollPoint = CGPointMake(0.0, (cView.frame.origin.y/800)*400);
[self.scrollView setContentOffset:scrollPoint animated:YES];
[self.scrollView addSubview:cView];
CGFloat scrollViewHeight = 0.0f;
for (UIView *view in self.scrollView.subviews)
{
scrollViewHeight += view.frame.size.height;
}
CGSize newSize = CGSizeMake(320,scrollViewHeight);
//CGRect newFrame = (CGRect){CGPointZero,newSize};
[self.scrollView setContentSize:newSize];
NSLog(@"750 the tag number is %d",self.tagNumber);
NSLog(@"the scroll view height is %f",scrollViewHeight);
self.currentCGRectLocation = cView.frame;*/
/* */ でコメントした上記のコードがたくさんあります。その前にも1行あります
//self.scrollView.contentSize = CGRectMake(187, 660, 400, 400).size;
上記の行のコメントを外すと、例外が発生し始めます。アプリケーションの別の時点で、このコードにたどり着きました。アプリを最初に起動すると、このコードが呼び出され、正常に動作します。ここで、この画面 A にレコードを保存し、他の計算を行い (基本的には別の画面 B に移動します)、この画面に戻り、保存されたレコードを取得して表示し、画面 A に表示します。この例外を取得します。私が気づいたのは、スクロールビューで行うことはすべて例外です。この行を省略した場合
[self.scrollView addSubview:cView];
コメントの外側では、カスタム ビューが完全に正常に追加されていることがわかります。しかし、スクロールが緩んでいます。ありがとう..
編集:これに変更..まだ動作しません。
ITMCustomView *cView = [[ITMCustomView alloc] initWithFrame:CGRectMake(187, 660, 400, 400)
andOrderedItem:@"New"
andTag:self.tagNumber
withFoldArray:self.foldTypeArray
withRollArray:self.rollTypeArray];
cView.tag =self.tagNumber;
NSLog(@"Assigned tag is %d",cView.tag);
cView.delegate = self;
CGPoint scrollPoint = CGPointMake(0.0, (cView.frame.origin.y/500)*400);
[self.scrollView setContentOffset:scrollPoint animated:YES];
[self.scrollView addSubview:cView];
CGFloat scrollViewHeight = 0.0f;
for (UIView *view in self.scrollView.subviews)
{
scrollViewHeight += view.frame.size.height;
}
CGSize newSize = CGSizeMake(320,scrollViewHeight);
//CGRect newFrame = (CGRect){CGPointZero,newSize};
[self.scrollView setContentSize:newSize];
NSLog(@"the scroll view height is %f",scrollViewHeight);
self.currentCGRectLocation = cView.frame;
for (NSObject *newObj in cView.subviews)
{
if ([newObj isMemberOfClass:[UITextField class]])
{
UITextField *txtObj = (UITextField *)newObj;
switch (txtObj.tag) {
case 6: //Length
NSLog(@"6 item value is %@",txtObj.text);
txtObj.text = [soliI.length stringValue]; //[NSString stringWithFormat:@"%1.1f",length];
break;
case 7: //Width
NSLog(@"7 item value is %@",txtObj.text);
txtObj.text = [soliI.width stringValue]; //[NSString stringWithFormat:@"%1.1f",width];
break;
default:
break;
}
}
else if ([newObj isMemberOfClass:[UITextView class]])
{
UITextView *txtView = (UITextView *)newObj;
NSLog(@"the tag is %d",txtView.tag);
if (txtView.tag == 17)
{
txtView.text = soliI.specialInstructions;
}
}
else if ([newObj isKindOfClass:[UIButton class]])
{
UIButton *btn = (UIButton *)newObj;
NSLog(@"btn tag is %d",btn.tag);
switch (btn.tag) {
case 12:
[btn setTitle:@"Fold" forState:UIControlStateNormal];
break;
case 13:
[btn setTitle:@"Roll" forState:UIControlStateNormal];
break;
default:
break;
}
}