我有一个应该有一行文本的UITextView。iphone - 关于UITextView及其大小的问题
尺寸字体由滑块控制。当用户控制滑块时,我使用(这是滑块在移动时调用的方法)计算新的UITextView大小。
- (void) changeFontSize:(id)sender {
UISlider *slider = (UISlider *)sender;
CGFloat newSize = (CGFloat)[slider value];
myTextView.font = [UIFont boldSystemFontOfSize:newSize];
[self adjustBoxforSize:myTextView.text];
}
- (void) adjustBoxForSize:(NSString*)myText {
CGFloat fontSize = myTextView.font.pointSize;
CGSize newSize =
[myText sizeWithFont:[UIFont boldSystemFontOfSize:fontSize]];
newSize.width = newSize.width * 1.5; // make it 50% larger
newSize.height = newSize.height * 1.5; // make it 50% taller
CGRect myFrame = CGRectMake(0.0f, 0.0f, newSize.width, newSize.height);
myTextView.frame = myFrame;
}
如果我缩小字体,这是结果
的问题是:如何可以将文本走出的TextView的,如果我缩放到适合确实使它大50%?
我错过了什么?看来,sizeWithFont不正确计算大小。
谢谢。
对不起。当我将应用程序中的代码复制到这里时(我不得不简化它,并弄错了),这是一个错字。我已经纠正了这个问题。 – SpaceDog 2010-10-01 18:40:14
试试这个:newSize.width = newSize.width + 20;看起来填充不会随字体大小增长。 – MaxFish 2010-10-01 19:04:37
这似乎解决了一个问题。按百分比做并不好,因为当字体很小的时候你会有小的增加,但是用一个固定的数量来做就可以了。请重复您的评论作为答案,以便我可以接受。谢谢! – SpaceDog 2010-10-02 16:28:38