首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >调整弹出窗口ViewController的大小以适应要在UITableView中显示的数据

调整弹出窗口ViewController的大小以适应要在UITableView中显示的数据
EN

Stack Overflow用户
提问于 2017-08-19 04:32:13
回答 1查看 736关注 0票数 0

我正在开发一个应用程序,其中我有两个视图控制器。第一个是当用户在TextField上执行长按手势时,显示弹出的ViewController (用于第二个View Controller)。下面是popover代码(在第一个视图控制器中),它是以编程方式完成的:

代码语言:javascript
复制
        func longpressGestureTriggeredForIndicativeDesignWorkingLifeTextView (gestureRecognizer: UIGestureRecognizer) {

        if gestureRecognizer.state == UIGestureRecognizerState.began {

        self.view.endEditing(true)

       }

   let popController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "IndicativeDesignWorkingLifeVC")

   popController.modalPresentationStyle = UIModalPresentationStyle.popover
                popController.popoverPresentationController?.permittedArrowDirections = UIPopoverArrowDirection.up

   popController.popoverPresentationController?.delegate = self

   popController.popoverPresentationController?.sourceView = (indicativeDesignWorkingLifeTextView!)

   popController.popoverPresentationController?.sourceRect = (indicativeDesignWorkingLifeTextView as AnyObject).bounds

   self.present(popController, animated: true, completion: nil)

        }

当第二个视图控制器弹出时,显示它包含的UITableView。popover VIewController的大小远远大于在第二个View Controller中设置的表中包含的行数。

如何将popover ViewController的高度和宽度设置为与第二个View Controller中设置的UITableView中包含的数据量相等?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-19 05:28:06

在第二个视图控制器的viewWillAppear中,您需要获取tableview单元格的行高,并计算单元格的数量以获得表视图的总高度。完成此操作后,您可以使用self.preferredContentSize更改弹出窗口的高度

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45764651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档