UIPopoverController for iPhone通过实施类别
我知道,Popover控制器是专门用于iPad设备,但在下面的问题有一个评论,其中用户提到有关类别,代码如下, UIPopoverController iphone不工作?
// UIPopoverController+iPhone.h file @interface UIPopoverController (iPhone) + (BOOL)_popoversDisabled; @end // UIPopoverController+iPhone.m file @implementation UIPopoverController (iPhone) + (BOOL)_popoversDisabled { return NO; } @end
这是正确的吗? 苹果会批准这个吗?
我的iPad应用程序已经完成了,现在我正在将它变成通用应用程序,所以我不想使用任何自定义popup窗口来添加此类别,以便解决问题并减less开发工作量。
这是非常冒险的方式,你将把一个很大的风险,把它放在AppStore上。 当然有人可能会在商店里放置一个版本,他们忽略了这一点,但任何时候它都可能会崩溃,苹果可能会决定删除他的应用程序。
你有没有testingiPhone上的popup? 你会在iOS7.1中testing吗? 它会在iOS7.2或iOS 7.3上完全相同吗?
一个更好的解决scheme是采取一个开源的popovers实现,并使用iPhone(或两者)。
我有与iPhone中的popover现场应用程序。 只需要为popover创build界面
NSObject的+ UIPopover_Iphone.h
#import <Foundation/Foundation.h> @interface UIPopoverController (overrides) +(BOOL)_popoversDisabled; @end
NSObject的+ UIPopover_Iphone.m
#import "NSObject+UIPopover_Iphone.h" @implementation UIPopoverController (overrides) +(BOOL)_popoversDisabled { return NO; } @end
现在只需在您的Viewcontroller.h中导入NSObject+UIPopover_Iphone.h
UIPopover_Iphone.h
编辑
对于iOS 8,您可以使用WYPopoverController。