iOS的自动版式没有真正工作嵌入到滚动型
问题描述:
意见
我想嵌入的观点相互转化(在目前的情况下,进入滚动型允许比显示屏幕的尺寸高含量)和使用的iOS 6.0的自动版式功能,在为了避免不断计算内容大小。iOS的自动版式没有真正工作嵌入到滚动型
我有以下的ViewController的看法,包含一个UIScrollView:
我想显示在这个滚动视图我ChildVC的观点:
请注意标签是多和含有一个'很多'的文本,还有自动布局约束被定义(特别是大于或等于高度属性)。
我创建childVC并经由下面的代码添加到主VC的视图:
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
childVC = [[ChildVC alloc] initWithNibName:@"ChildVC" bundle:nil];
self.myScrollView.translatesAutoresizingMaskIntoConstraints = NO;
childVC.view.translatesAutoresizingMaskIntoConstraints = NO;
[self.myScrollView addSubview:childVC.view];
NSDictionary *viewsDictionary = @{ @"subView" : childVC.view};
NSString* constr = [NSString stringWithFormat:@"|-0-[subView(%f)]-0-|", self.myScrollView.frame.size.width];
[self.myScrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:constr options:0 metrics: 0 views:viewsDictionary]];
[self.myScrollView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[subView]-(>=0)-|" options:0 metrics: 0 views:viewsDictionary]];
}
用于内容观看的约束(我想将是childVC的视图)是代码中设置的唯一东西,因为我只想要一个垂直滚动条,我希望子视图的内容(水平)缩小以显示在滚动查看器中。
而且我的输出是这样的:
的UI显示,收缩但我的标签不调整垂直因此它不会显示整个文本:(
我试图设置高达
translatesAutoresizingMaskIntoConstraints到标签在这里和那里没有任何成功。我会很感激的任何帮助,因为我有个挣扎是天现在:/
答
我个人认为,这些限制和自动布局功能,只是不总是精确地工作,因为我们希望他们。 (特别是在不同的屏幕尺寸上)。
所以我通常会添加一些代码行数在viewDidLoad方法由几个像素左右移动某些物体。您也可以更改尺寸等。
从字面上看这样一个简单的动作做的伎俩,而用户注意到任何动画:
object_name.frame = CGRectOffset(object_name.frame, 0, -40.0f);