Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/141.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
Ios 自动增长视图';s基于它的高度';内容 处境_Ios_Iphone_Swift_Uiview_Uistackview - Fatal编程技术网

Ios 自动增长视图';s基于它的高度';内容 处境

Ios 自动增长视图';s基于它的高度';内容 处境,ios,iphone,swift,uiview,uistackview,Ios,Iphone,Swift,Uiview,Uistackview,我有一个(垂直)UIStackView包含一个高度50的普通UIView(名为sliderView)和一个高度36的UILabel。标签的alpha属性最初设置为0.0,以使其不可见 在控制器的viewdiload中,我使用UIViewController包容将另一个视图控制器的视图添加到,作为sliderView的子视图。这个新的子视图不一定匹配sliderViewsheight。它实际上可能会稍微高一点 首先,这个设置看起来不错。一旦我使标签可见,我看到它仍然从y位置50开始。因此,slid

我有一个(垂直)
UIStackView
包含一个高度
50
的普通
UIView
(名为
sliderView
)和一个高度
36
UILabel
。标签的
alpha
属性最初设置为
0.0
,以使其不可见

在控制器的
viewdiload
中,我使用UIViewController包容将另一个视图控制器的视图添加到,作为
sliderView
的子视图。这个新的子视图不一定匹配
sliderViews
height。它实际上可能会稍微高一点

首先,这个设置看起来不错。一旦我使标签可见,我看到它仍然从y位置
50
开始。因此,
sliderView
没有自动拉伸以使用新孩子的身高。有道理

问题:
我想我可以轻松地在
sliderView
上调用
sizeToFit
,使这两个高度匹配。不幸的是,这似乎不起作用。我是不是误解了什么?谢谢

使用以下方法获取
NSString
文本所需的
CGSize

- (CGSize)getHeightForText:(NSString *)text havingWidth:(CGFloat)widthValue andFont:(UIFont *)font {
CGSize size = CGSizeZero;
if (text) {
    CGRect frame = [text boundingRectWithSize:CGSizeMake(widthValue, CGFLOAT_MAX) options:NSStringDrawingUsesLineFragmentOrigin attributes:@{ NSFontAttributeName:font } context:nil];
    size = CGSizeMake(frame.size.width, frame.size.height+20.0f);
}
return size;
}

这里的
width
参数是
标签的宽度
font
是为
标签指定的字体。致电
CGSize.height
获取高度。

好吧,谢谢你的回复,但这不是我想要的。标签很好。我需要调整
幻灯片视图的大小。