我有一个 UITableViewController,它有一个显示位置的静态字段。这个静态字段的样式是“正确的细节”。单元格的左侧显示用户选择的城市,右侧有一个带有标签“项目位置”的披露指示器。
当用户第一次导航到此控制器时,左侧标签设置为“无位置”,一切看起来都很好,如下所示:(我无法发布图像,因为我没有代表)
“无位置项目位置>”
问题是,如果我设置一个长城市名称(例如“Rancho Santa Margarita, California”),“Item Location”标签会缩小并填充省略号(...)
“Rancho Santa Margarita, California It...>”
我想要发生的是,当用户选择一个长城市名称时,城市标签将占用尽可能多的空间,而不会导致“项目位置”标签缩小。所以基本上它看起来像这样:
“Rancho Santa Margarita, ... Item Location >”
使用界面生成器,我尝试将右侧细节标签(项目位置)的水平内容拥抱优先级和抗压优先级设置为 1000,我什至将城市标签的水平内容拥抱优先级和抗压优先级设置为 1,但这并没有似乎不起作用。(它看起来仍然像第二个屏幕截图)。
还有一件事,当用户选择一个新位置时,我使用以下方法来更新位置文本:
- (void)setLocationText:(NSString *)text {
self.locationField.textLabel.text = text;
[self.locationField setNeedsLayout];
}
其中 locationField 是位置 UITableViewCell 的一个出口。如果没有城市文本标签的代码,setNeedsLayout
则无法适应城市名称,这就是我使用它的原因。
我正在使用 XCode 4.6 并针对 iOS 6.1
你们知道可能是什么问题吗?
提前致谢, 伊多