目标c - 在单元格中修改标签的位置(uicollectionViewCell)

时间:2014-08-25 09:57:42

标签: ios objective-c xcode uicollectionview autolayout

我的CollectionView中的单元格存在很大问题。

我有一个文字。每个单词都是我的collectionView中的一个单元格

当我点击一个隐藏的单词(“_ _ _ _”)时,我做了一个翻转动画。文本出现,然后在与另一个翻转动画进行1次借调后消失。

问题是:当文字再次出现时,破折号未正确放置......

查看图片以获得更好的理解:

http://img4.hostingpics.net/pics/378522Capturedcran20140825115635.png

我认为问题在于自动布局,但我不知道如何解决这个问题。

我试图保存框架

_textlabel.frame

我试图重新加载单元格:

[collectionView reloadItemsAtIndexPaths:indexArray];

我尝试过使用像:

这样的方法
_textLabel.adjustsFontSizeToFitWidth = YES;

_textLabel.baselineAdjustment = UIBaselineAdjustmentAlignBaselines;

self.autoresizesSubviews = YES;

[_textlabel sizeToFit]

但没有任何作用...... :(

我的代码:

-(void)hideWord:(Word *)word animated:(BOOL)animated
{    
[UIView transitionWithView:self.contentView
                  duration:0.2
                   options:UIViewAnimationOptionTransitionFlipFromBottom
                animations:^{
                    UILabel *lab = _textLabel;

                    [_textLabel removeFromSuperview];
                    _textLabel.text = word.hiddenText;

                 // Some test ... But all failed
                 //   _textLabel.font = [UIFont systemFontOfSize:SIZE_HIDDEN_TEXT_CELL];
                 //   _textLabel.adjustsFontSizeToFitWidth = YES;
                 //   _textLabel.baselineAdjustment = UIBaselineAdjustmentAlignBaselines;
                 //   self.autoresizesSubviews = YES;
                 //   [_textlabel sizeToFit];

                    [self.contentView addSubview:lab];
                }
                completion:nil];

}

-(void)showWord:(Word *)word animated:(BOOL)animated
{
    [UIView transitionWithView:self.contentView
                  duration:0.2
                   options:UIViewAnimationOptionTransitionFlipFromBottom
                animations:^{
                    UILabel *lab = _textLabel;

                    [_textLabel removeFromSuperview];
                    _textLabel.text = word.text;
                    _textLabel.font = [UIFont systemFontOfSize:SIZE_TEXT_CELL];
                    [self.contentView addSubview:lab];
                }
                completion:^(BOOL finished){
                }];
}

我希望,我很清楚.. 感谢您的帮助:)

0 个答案:

没有答案