我在表单中显示了视图控制器,在按钮上单击弹出窗口,弹出视图控制器中有搜索栏,开始在搜索栏中键入键盘出现并且作为父视图控制器在表单中显示根据它的默认行为,所以需要相应地设置popover框架,如何在已经存在的情况下设置popover的框架? 提前谢谢。
答案 0 :(得分:0)
我在UIViewController
上为此做了一个类别
的UIViewController + PopOver.h
#import <UIKit/UIKit.h>
@interface UIViewController (PopOver)
- (void) forcePopoverSize;
- (void) forcePopoverSizeWithWidth:(float) width andHeight:(float) height;
@end
的UIViewController + PopOver.m
#import "UIViewController+PopOver.h"
@implementation UIViewController (PopOver)
- (void) forcePopoverSize
{
// CGSize currentSetSizeForPopover = self.contentSizeForViewInPopover;
CGSize currentSetSizeForPopover = CGSizeMake(320.0f, 330.0f);
CGSize fakeMomentarySize = CGSizeMake(currentSetSizeForPopover.width - 1.0f, currentSetSizeForPopover.height - 1.0f);
self.preferredContentSize = fakeMomentarySize;
self.preferredContentSize = currentSetSizeForPopover;
}
- (void) forcePopoverSizeWithWidth:(float) width andHeight:(float) height
{
// CGSize currentSetSizeForPopover = self.contentSizeForViewInPopover;
CGSize currentSetSizeForPopover = CGSizeMake(width, height);
CGSize fakeMomentarySize = CGSizeMake(currentSetSizeForPopover.width - 1.0f, currentSetSizeForPopover.height - 1.0f);
self.preferredContentSize = fakeMomentarySize;
self.preferredContentSize = currentSetSizeForPopover;
}
@end
然后在您的UIViewController
中,您可以致电[self forcePopoverSizeWithWidth:752.0f andHeight:300.0f];
f.e。
让我知道它是否有效