我有以下代码在UITableViewCell中绘制文本,它可以正常工作以绘制并返回文本,但位于UITableViewCell的中心。所以我给了它正确的对齐,但是没有用!
UIColor * textColor = [UIColor blackColor];
if (self.selected || self.highlighted){
textColor = [UIColor whiteColor];
}
else
{
[[UIColor whiteColor] set];
UIRectFill(self.bounds);
}
[textColor set];
UIFont * textFont = [UIFont boldSystemFontOfSize:14];
CGSize textSize = [text sizeWithFont:textFont constrainedToSize:rect.size];
[text drawInRect:CGRectMake((rect.size.width / 2) - (textSize.width / 2),
(rect.size.height / 2) - (textSize.height / 2),
textSize.width,
textSize.height)
withFont:textFont
lineBreakMode:UILineBreakModeWordWrap
alignment:UITextAlignmentRight];
最佳答案
您是否检查了传递给CGRect
的drawInRect:
?您正在CGRect
的中心显式创建rect
。它应该是:
[text drawInRect:CGRectMake(rect.origin.x,
(rect.size.height / 2) - (textSize.height / 2),
rect.size.width, textSize.height)
withFont:textFont
lineBreakMode:UILineBreakModeWordWrap
alignment:UITextAlignmentRight];
关于ios - 文本对齐drawInRect不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16295016/