2012年5月7日月曜日

typeがtextのpostはtitleとbodyの境界に線を描画しようと思って色々調べたけど、uiviewのサブクラスを作ってdrawrectをオーバーライドするとかすげー大層な話になってるので1x1pxのpngをuiimageでサイズ変形してaddsubviewした。これで十分かな。あとはquoteのフォントサイズを15〜270のループで回してcontentSize.heightがwindowを超えるいっこ前を取るようにしてびしっとuitextview内に収まるように修正。だいぶ力技やな。contentSizeがaddsubviewする前には取得できないと知らずに若干ハマった。

#define sf(x) [UIFont fontWithName:@"Helvetica" size:x]

}else if([[typeArr objectAtIndex:i]isEqualToString:@"quote"]){ //quote
 UIImage *quoteimg=[UIImage imageNamed:@"quote"];
 UIImageView *quoteimgv=[[UIImageView alloc]initWithImage:quoteimg];
 [quoteimgv setFrame:CGRectMake(10,15,50,50)];quoteimgv.alpha=0.7;
 [postv addSubview:quoteimgv];
 NSString *quote=[self deltag:[contArr objectAtIndex:i]];
 UITextView *quotev=[[UITextView alloc]initWithFrame:CGRectMake(10,20,sw-20,sh-20)];
 [postv addSubview:quotev];
 quotev.text=quote;
 for(int i=16;i<270;i++){
  quotev.font=sf(i);
  if(quotev.contentSize.height>sh-20){quotev.font=sf(i-1);break;}
 }
 quotev.textColor=[UIColor blackColor];quotev.backgroundColor=[UIColor clearColor];quotev.editable=NO;
}
できた。

今日は振休だったので平日のみ16時までという普段絶対行けない弥七@中津で醤油ちゃーしゅー麺中盛。長蛇の列を覚悟して文庫2冊持ってったけど4人くらいしか並んでなくて拍子抜け。まあ、美味しいけど並ぶほどかと言われれば微妙かな。

0 件のコメント:

コメントを投稿