Как установить фрейм контроллера popover view, пока он уже отображается в iPad?
У меня есть контроллер представления, представленный в листе формы, При нажатии кнопки появляется всплывающее окно, В контроллере представления всплывающего окна есть панель поиска, Когда начался набор текста в панели поиска, появляется клавиатура, и как родительский контроллер представления представлен в листе формы, движется вверх в соответствии с его поведение по умолчанию, поэтому необходимо соответственно установить рамку popover, как установить рамку popover, пока она уже присутствует? Заранее спасибо.
1 ответ
Я сделал категорию на 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];
Fe
Дайте мне знать, если это работает