हाँ, वहाँ आईओएस के लिए QLPreviewController पर barTintColor साथ एक बग है अगर आप इसे माध्यम से presentViewController: animated:
यहाँ मेरी समाधान है दिखा रहे हैं, setBackgroundImage का उपयोग करें:
: 1x1 छवि
setBarTintColor के बजाय साथ
[[UINavigationBar appearanceWhenContainedInInstancesOfClasses:@[[QLPreviewController class]]]
setBackgroundImage:[UIImage imageWithColor:[UIColor redColor]]
forBarMetrics:UIBarMetricsDefault];
और imageWithColor: UIImage की मेरी कस्टम श्रेणी में एक विधि है जो आकार बदलने योग्य 1x1 छवि लौटा रही है इच्छित रंग (उदाहरण में लाल रंग से ऊपर) के:
+ (UIImage *)imageWithColor:(UIColor *)color {
CGRect rect = CGRectMake(0.0f, 0.0f, 1.0f, 1.0f);
const CGFloat alpha = CGColorGetAlpha(color.CGColor);
const BOOL opaque = alpha == 1;
UIGraphicsBeginImageContextWithOptions(rect.size, opaque, 0);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
मैं भी साथ इस रैप करने के लिए सुझाव है कि iOS संस्करण की जांच की तरह:
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"11.0")) {
[[UINavigationBar appearance...
setBackgroundImage:[UIImage imageWithColor:...]
forBarMetrics:UIBarMetricsDefault];
}
कहाँ SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO
से है:
#define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
#define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)
स्रोत
2017-11-02 17:48:01
करें ताकि जैसे कोड में चिह्नित न करें: \ 'कोड \', बजाय, अपने कोड के सामने चार अंतरिक्ष जोड़ें। इसके अलावा कृपया समझा 'काम नहीं करता है' क्या है। इस तरह के कोड चलाने पर आपके सिस्टम फट करता है? – SteveFest