如何使 UIView 或 TableView 适合弹出窗口的 preferredContentSize?

How to make a UIView or TableView to fit the preferredContentSize of a popover?

我想显示一个带有 100X100 imageView 或 tableView 的弹出窗口。 通常我必须在 popoverView 的角落创建一个 imageView,就像这样。
(http://snappyimages.nextwavesrl.netdna-cdn.com/img/c7533f30a6ebef7c017521fd8f84452e.png)

但是如果我更改了 preferredContentSize,我也必须更改 imageView 的大小。

Q1:
这是创建弹出窗口内容的正确方法吗?

Q2:
有没有办法让 imageView 或 tableView 自动适应 preferredContentSize?

我有答案!

在呈现控制器中实现代码。

popoverController. preferredContentSize = popoverControoler.yourTableView.contentSize;
popoverController. preferredContentSize = popoverControoler.yourImageView.frame.size;


实现popoverController中的代码(确保yourView已经布局)

-(void) viewDidAppear:(BOOL)animated{ self.preferredContentSize=yourTableView.contentSize; }

-(void) viewDidAppear:(BOOL)animated{ self.preferredContentSize=yourImageView.contentSize; }