当显示选择&弹出 View 时,自定义操作(UIPreviewAction
对象)以默认的 iOS 蓝色显示。
有什么办法可以把它们染成不同的颜色吗?
最佳答案
对于 iOS 11,似乎可行的是添加 didFinishLaunchingWithOptions
:
UIApplication.sharedApplication.delegate.window.tintColor = MY_COLOR
我不确定相同的方法是否适用于 iOS11 之前的版本,但以下是对我来说适用于 iOS11 之前的方法:
在
viewWillAppear
预览 Controller 的方法(实现 previewActionItems
方法的 viewController 添加:- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
UIView* container = [self.view superviewOfClass:NSClassFromString(@"_UIVisualEffectContentView")];
container.tintColor = YOUR_COLOR;
}
superviewOfClass
方法在 UIView+MyUtils
中实现类别:- (UIView*) superviewOfClass:(Class)c
{
UIView* parent = self;
while ((parent = parent.superview))
{
if ([parent isKindOfClass:c])
{
return parent;
}
}
return nil;
}
关于ios - 如何为 peek&pop 自定义操作着色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40172268/