IOS UIPopoverBackgroundView,设置不同的内容插入

时间:2012-10-05 07:16:51

标签: ios ipad popover

我实现了一个CustomPopOverBackgroundView,它是UIPopoverBackgroundView的子类。

我实现了类方法

+(UIEdgeInsets)contentViewInsets{   
    return UIEdgeInsetsMake(CONTENT_INSET, CONTENT_INSET, CONTENT_INSET, CONTENT_INSET);
}

目前CONTENT_INSET是固定值:

#define CONTENT_INSET 25.0

我想要做的是,能够更改此值,以便我可以在应用程序中使用不同的内容插入不同的弹出窗口。

是否可以只有一个popoverbackground类?

非常感谢。

1 个答案:

答案 0 :(得分:1)

我认为没有一种完美的方法可以做到这一点,我认为Apple的API不允许我们自己创建背景类的实例,这是蹩脚的。

但是,有点繁琐的解决方法是创建一个静态方法,如setContentViewInsets:(UIEdgeInsets)insets,以更改静态变量的值,如contentViewInsets,然后可以通过+(UIEdgeInsets)contentViewInsets方法返回。

那么,每次需要更改contentViewInsets时都必须调用“setContentViewInsets”。这有点烦人,但这是我能想到的“最佳”方式而不创建一堆背景类。

顺便说一句,在运行时更改contentViewInsets会产生动画副作用,对我来说也很烦人。

我真的希望Apple可以更改API以获取实例而不是后台类本身。