我在iOS Swift上使用了popoverPresentationController,我在popover中放了一个图像和文本?
我遇到的问题是内容对于popover来说太大了?是否可以设置尺寸?
图片低于我遇到的问题以及试用代码和错误消息?
let myAlert = UIAlertController(title: "\n\n\n\n\n\n", message: "Correct answer selected, move on to next level", preferredStyle: UIAlertControllerStyle.actionSheet)
let okAction = UIAlertAction(title: "Ok", style: UIAlertActionStyle.default)
{
// action in self.dismiss(animated: true, completion: nil)
action in self.performSegue(withIdentifier: "goSegue1", sender: self)
self.musicEffect.stop()
}
// put image into action sheet
let imageView = UIImageView(frame: CGRect(x: 70, y: -30, width: 140, height: 140))
imageView.image = #imageLiteral(resourceName: "wellDone2.png")
myAlert.addAction(okAction);
myAlert.view.addSubview(imageView)
// display the alert messgae
myAlert.popoverPresentationController?.sourceView = view
myAlert.popoverPresentationController?.sourceRect = (sender as AnyObject).frame
myAlert.preferredContentSize = CGSize(width: 500, height: 800)
答案 0 :(得分:2)
弹出框的大小不受PopoverPresentationController
控制。 PopoverPresentationController
仅指定如何呈现内容,但内容本身(包括大小)由您获取控制器的视图设置,在您的情况myAlert
中。
您有正确的想法尝试设置preferredContentSize
,但是您将其置于错误的视图中。你应该改变一行
popoverPresentationController?.preferredContentSize = /* ... */
为:
myAlert.preferredContentSize = /* ... */
这应该可以解决问题。