我实现了一个CustomPopOverBackgroundView,它是UIPopoverBackgroundView的子类。
我已经实现了class方法
+(UIEdgeInsets)contentViewInsets{
return UIEdgeInsetsMake(CONTENT_INSET, CONTENT_INSET, CONTENT_INSET, CONTENT_INSET);
}而此时CONTENT_INSET是固定值:
#define CONTENT_INSET 25.0我想要做的是,能够改变这个值,这样我就可以在应用程序中使用不同的内容插入来获得不同的弹出窗口。
有没有可能只有一个popoverbackground类?
非常感谢。
发布于 2013-02-15 05:17:16
我不认为有一个完美的方法可以做到这一点,而且我认为苹果的API不允许我们自己创建后台类的实例,这是很差劲的。
然而,一种有点单调乏味的变通办法是创建一个静态方法,如setContentViewInsets:(UIEdgeInsets)insets来更改静态变量的值,如contentViewInsets,然后可以由+(UIEdgeInsets)contentViewInsets方法返回。
因此,每次需要更改contentViewInsets时,都必须调用"setContentViewInsets“。这有点烦人,但这是我能想到的不创建一堆背景类的“最好”方法。
顺便说一句,在运行时更改contentViewInsets会有一个动画副作用,对我来说,这也很烦人。
我真的希望Apple可以改变API来获取实例而不是background Class本身。
https://stackoverflow.com/questions/12741428
复制相似问题