Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/105.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 垂直对齐UILabel中的文本并使其下方的视图相应地向上移动_Iphone_Ios_Cocoa Touch_Uilabel - Fatal编程技术网

Iphone 垂直对齐UILabel中的文本并使其下方的视图相应地向上移动

Iphone 垂直对齐UILabel中的文本并使其下方的视图相应地向上移动,iphone,ios,cocoa-touch,uilabel,Iphone,Ios,Cocoa Touch,Uilabel,我正在使用所述的解决方法将多行UILabel中的文本垂直对齐到顶部。不幸的是,这只解决了一半的问题,因为我还想折叠剩余的空间,并将其他标签移到标签下方,以向上移动并占用空间 是否有任何方法可以实现这一点,而不必自己计算其他视图的框架,从而接管布局 我的问题。为了方便起见,我对相关标签的背景进行了着色。蓝色标签应该向上移动,并占用红色标签未使用的空间。红色标签配置为3行,字体自动收缩已关闭。必须重新计算标签边框,然后在视图中重新排列标签。 或者,您可以尝试使用CoreText来制作更复杂的布局,而

我正在使用所述的解决方法将多行UILabel中的文本垂直对齐到顶部。不幸的是,这只解决了一半的问题,因为我还想折叠剩余的空间,并将其他标签移到标签下方,以向上移动并占用空间

是否有任何方法可以实现这一点,而不必自己计算其他视图的框架,从而接管布局


我的问题。为了方便起见,我对相关标签的背景进行了着色。蓝色标签应该向上移动,并占用红色标签未使用的空间。红色标签配置为3行,字体自动收缩已关闭。

必须重新计算标签边框,然后在视图中重新排列标签。
或者,您可以尝试使用CoreText来制作更复杂的布局,而无需处理这些帧的重新排列。在GitHub上有一个很好的BSD许可的工作,名为NSAttributeString+HTML:它尝试在iOS中移植OSX中已有的相同方法。它基于CoreText,通过这个类,您可以将页面编写为html并在屏幕上呈现,而无需使用UIWebView(也无需它的限制)。根据您的屏幕截图,使用简单的html很容易达到预期的效果。

因此,在定位子视图时,iOS只考虑其原始位置和大小检查器缩放设置,而不考虑与相邻子视图相关的布局控制?不,很遗憾,我们还不能这样做。我们希望新的Lion自动布局功能能够移植到iOS。。。事实上,structs and springs方法非常有限,大多数情况下您必须使用layoutSubviews方法。哇,当您习惯于XAMLs强大的布局和绑定系统时,感觉就像回到石器时代。感谢分享一些见解。