QMUIModalPresentationContentViewControllerProtocol
@protocol QMUIModalPresentationContentViewControllerProtocol <NSObject>
@optional
/**
* 当浮层以 UIViewController 的形式展示(而非 UIView),并且使用 modalController 提供的默认布局时,则可通过这个方法告诉 modalController 当前浮层期望的大小。如果 modalController 实现了自己的 layoutBlock,则可不实现这个方法,实现了也不一定按照这个方法的返回值来布局,完全取决于 layoutBlock。
* @param controller 当前的modalController
* @param keyboardHeight 当前的键盘高度,如果键盘降下,则为0
* @param limitSize 浮层最大的宽高,由当前 modalController 的大小及 `contentViewMargins`、`maximumContentViewWidth` 和键盘高度决定
* @return 返回浮层在 `limitSize` 限定内的大小,如果业务自身不需要限制宽度/高度,则为 width/height 返回 `CGFLOAT_MAX` 即可
*/
- (CGSize)preferredContentSizeInModalPresentationViewController:(QMUIModalPresentationViewController *)controller keyboardHeight:(CGFloat)keyboardHeight limitSize:(CGSize)limitSize;
@end
Undocumented
-
当浮层以 UIViewController 的形式展示(而非 UIView),并且使用 modalController 提供的默认布局时,则可通过这个方法告诉 modalController 当前浮层期望的大小。如果 modalController 实现了自己的 layoutBlock,则可不实现这个方法,实现了也不一定按照这个方法的返回值来布局,完全取决于 layoutBlock。
Declaration
Objective-C
- (CGSize)preferredContentSizeInModalPresentationViewController: (nonnull QMUIModalPresentationViewController *)controller keyboardHeight: (CGFloat)keyboardHeight limitSize: (CGSize)limitSize;
Swift
optional func preferredContentSize(in controller: QMUIModalPresentationViewController, keyboardHeight: CGFloat, limitSize: CGSize) -> CGSize
Parameters
controller
当前的modalController
keyboardHeight
当前的键盘高度,如果键盘降下,则为0
limitSize
浮层最大的宽高,由当前 modalController 的大小及
contentViewMargins
、maximumContentViewWidth
和键盘高度决定Return Value
返回浮层在
limitSize
限定内的大小,如果业务自身不需要限制宽度/高度,则为 width/height 返回CGFLOAT_MAX
即可