我知道Popover控制器仅供iPad设备使用,但在下面的问题中,有一条评论用户提到了类别,代码如下, UIPopoverController for iphone not working?
// UIPopoverController+iPhone.h file
@interface UIPopoverController (iPhone)
+ (BOOL)_popoversDisabled;
@end
// UIPopoverController+iPhone.m file
@implementation UIPopoverController (iPhone)
+ (BOOL)_popoversDisabled {
return NO;
}
@end
这是对的吗? Apple会批准吗?
我的iPad应用程序已经完成,现在我正在制作它的通用应用程序,所以我没有使用任何自定义popover,而是想添加这个类别,以便它可以解决我的问题并减少开发工作。
答案 0 :(得分:1)
这是非常黑客的方式,你将把它放在AppStore上冒很大的风险。当然有人可能会在商店中放置一个他们忽略这个版本的版本,但它可以打破任何时刻,Apple可能决定删除他的应用程序。
您是否在iPhone上测试过popovers?你会在iOS7.1中测试吗?它会在iOS7.2或iOS 7.3上完全相同吗?
更好的解决方案是采用弹出窗口的开源实现并将其用于iPhone(或两者)。
答案 1 :(得分:0)
我在iPhone中有popover的实时应用程序。 只需要为popover创建界面
<强> 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
修改强>
对于iOS 8,您可以使用 的 WYPopoverController. 强>