UITextFieldsとUITextViewsが混在するフォームを印刷したい場合は、実際のタイプに関係なくそれぞれ同じものを実行します。コードをきれいに保つため、ビュー配列の各項目を同じ変数に割り当てて、印刷パラメータを取得したいと考えています。私はタイプidの変数でこれを行うことができると思ったが、私はコンパイルするものにはヒットしなかった。以下のコードはコンパイルされませんが、私がしたいことを示しています。これを正しく行う方法を教えてくれる人に感謝します。UITextViewまたはUITextFieldを参照できるポインター
id theField;
//for each field on the page
for (j = offsetToFirstFormField; j < [self.fields count]; j++) {
theField = [self.fields objectAtIndex: j];
printStr = theField.text;
if ([printStr length] > 0) {
theFont = [theField font];
maxSize = CGSizeMake(theField.frame.size.width, theField.frame.size.height);
printStrSize = [printStr sizeWithFont:theFont constrainedToSize:maxSize lineBreakMode:UILineBreakModeClip];
printRect = CGRectMake((theField.frame.origin.x * xScale) + xOffset, (theField.frame.origin.y * yScale) + yOffset, printStrSize.width, printStrSize.height);
[printStr drawInRect:printRect withFont:theFont];
}
}
ありがとうございます!それはそれを修正した。 –