我很难弄清楚如何在 DetailView 故事板中动态定位对象。
对于初学者,该应用程序遵循传统的博客格式,其中 MasterView 是一个 UITableView(或 UICollectionView),其中包含多个帖子。
当用户点击其中一个时,segue 会导致 DetailView。
一切都正确加载,除了 DetailView 中元素的定位。
这是它的外观:
顶部UIImageView
具有固定高度,因此不会与Post Text Label
.
但是,Post Text Label
由于某些帖子文本比其他文本更长,因此具有可变高度。这是由我正在使用的一个类别来处理的,它可以动态调整它的大小(resizeToFit
)。这一切都很好。
现在的问题是,Post Text Label
随着垂直增长,我需要View - Byline
(绿色矩形)根据Post Text Label
垂直大小向下移动。我就是不能让它向下移动。
您可以看到我将所有View - Byline
对象都放在了一个视图中,因此它们通过仅针对View - Byline
以编程方式更改位置来一起移动。
你知道我可以用什么方法来完成这个吗?非常感谢任何指针、教程或智慧。
DetailViewController.h
#import <UIKit/UIKit.h>
@interface DetailViewController : UIViewController {
IBOutlet UIImageView *postThumbView;
IBOutlet UILabel *postTextLabel;
IBOutlet UIImageView *postAuthorPictureView;
IBOutlet UILabel *postAuthorNameLabel;
IBOutlet UILabel *postTimestampLabel;
IBOutlet UIScrollView *scroller;
IBOutlet UIView *postBylineView;
}
@property (strong, nonatomic) id detailItem;
@end
细节视图控制器.m
...
[postThumbView setImageWithURL:[NSURL URLWithString:postThumbUrl] placeholderImage:[UIImage imageNamed:@"default"]];
[postAuthorPictureView setImageWithURL:[NSURL URLWithString:authorPicture] placeholderImage:[UIImage imageNamed:@"default"]];
postTextLabel.text = postText;
postTextLabel.frame = CGRectMake(postTextLabel.frame.origin.x,
postThumbView.frame.origin.y + postThumbView.frame.size.height,
postTextLabel.frame.size.width,
postTextLabel.frame.size.height);
[postTextLabel resizeToFit];
postAuthorNameLabel.text = postAuthorName;
postTimestampLabel.text = postTimestamp;