更改文本,布局更改

时间:2015-09-27 17:19:43

标签: ios objective-c xcode

如果我更改标签的文本,其容器会更改位置。 (自动布局) 我的简单代码:

BOOL nextCard = [self loadCardInfo:card];

    if (nextCard == TRUE) {

        [UIView animateWithDuration:0.3 animations:^{

            [card setFrame:CGRectMake(hideCardPosition.x, hideCardPosition.y, card.frame.size.width, card.frame.size.height)];

        }completion:^(BOOL complete){
        }];
}

问题出在最后一行:

-(BOOL)loadCardInfo:(CardView*)card {

if (dataArray.count > 0) {

    card.string = [dataArray objectAtIndex:0];
    [dataArray removeObjectAtIndex:0];
    card.label.text = card.string; //THIS LINE

    return YES;

} else

    return NO;

}

由于

1 个答案:

答案 0 :(得分:0)

我不确定您在+UIView animateWithDuration:animations:来电中想要实现的目标,但您可能不希望将自动布局与手动设置框架混合在一起,就像您在animations块中一样。
最佳做法是(通常)坚持使用其中一种 此外,您可能想要某种垂直的自动布局约束(固定到超视图或设置高度?)