【问题标题】:Is it possible to show UIViewController as popover in iphone是否可以在 iphone 中将 UIViewController 显示为弹出框
【发布时间】:2016-08-27 13:33:39
【问题描述】:
我使用Interface Builder 创建了一个UIViewController,是否可以将 UIViewController 视为指定大小的弹出框。
我的UIViewController 的大小是默认的600X600,因为我使用的是大小类。
我尝试了各种可用的答案,但没有一个适合我。
【问题讨论】:
标签:
ios
objective-c
iphone
uiviewcontroller
uipopover
【解决方案1】:
要在手机中显示弹出框,只需制作 UIPopoverController 代码的类别:
// UIPopoverController+iPhone.h
#import <UIKit/UIKit.h>
@interface UIPopoverController (iPhone)
+ (BOOL)_popoversDisabled;
@end
// UIPopoverController+iPhone.m
#import "UIPopoverController+iPhone.h"
@implementation UIPopoverController (iPhone)
+ (BOOL)_popoversDisabled {
return NO;
}
@end
只需在您需要的地方导入此类别即可。并在 iPAD 上显示弹出框。
-(IBAction)showPopOver:(id)sender {
TestPopOver *tstPop = [self.storyboard instantiateViewControllerWithIdentifier:@"TestPopOver"];
popOverController = [[UIPopoverController alloc]initWithContentViewController:tstPop];
popOverController.popoverContentSize = CGSizeMake(300.0, 300.0);
[popOverController presentPopoverFromRect:[(UIButton *)sender frame]
inView:self.view
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES]; }