我正在使用最新的SDK和XCode 4.2开发iOS 4应用程序。
我使用网络服务来检索一些文本数据。我不知道它的长度所以我需要将这些字符串拆分为适合自定义UITableViewCell
。
此自定义UITableViewCell
将包含UILabel
。此标签将填充从Web服务检索到的文本。
文本将是国家/地区名称:西班牙,法国,美国,意大利等。我将处理此名称以将其附加到唯一字符串。我将这样做:“西班牙 - 法国 - 美国 - ......”。
我的一个问题是这条线可能太长了,我需要将它分成线以适合UILabel
宽度。我已经解决了这个问题,如果字符串将比UILabel宽度大,我每次添加' - '时都会检查。所以,我会有一个这样的字符串:“西班牙 - 法国\ nUSA - ......”。
确定。现在,我有一个 \ n 的字符串,适合UILabel。因此,我需要修改UITableViewCell
高度以适应UILabel
高度。
但是,当我使用[NSString sizeWithFont:[UIFont systemFontOfSize:kFontSize]];
我没有达到真正的高度时,我总是得到21.0f。
我发现这个tutorial关于UITableView动态高度,但我不知道如何将它与我的代码一起使用。
简而言之,我需要将' - '字符附加到国家/地区名称,但它会返回(因为字符串将在另一行中呈现)通过UILabel),我不必追加' - '。而且,当我收到此字符串时,我必须将自定义UITableViewCell
的大小调整为UILabel
高度。
有任何线索吗?
答案 0 :(得分:1)
这是你要找的东西吗?
//create a CGFloat variable
CGFloat _height = 0;
//find out the size for your text. Instead of 255 insert the width of your label
CGSize _textSize = [yourString sizeWithFont:[UIFont systemFontOfSize:kFontSize] constrainedToSize:(CGSize) { 255, 9999 }];
//add the height of that CGSize variable to your height in case you will need to add more values
_height += _textSize.height;
//eventually some other calculations
希望有所帮助