मेरे आवेदन प्रतिनिधि में किया गया FinishLaunchingWithOptions फ़ंक्शन, मैं अपने नेविगेशन बार की उपस्थिति को अनुकूलित करने का प्रयास करता हूं।एक UINavigationBar के लिए एक अपारदर्शी 1px उच्च छाया छवि कैसे सेट करें?
[UINavigationBar appearance].translucent = NO;
[[UINavigationBar appearance]
setBackgroundImage:[UIImage
imageWithColor:[UIColor whiteColor]
size:CGSizeMake(1.0f, 1.0f)
]
forBarMetrics:UIBarMetricsDefault
];
[UINavigationBar appearance].shadowImage = [UIImage
imageWithColor:[UIColor redColor]
size:CGSizeMake(0.5f, 0.5f)
];
मुझे 1px लंबा अपारदर्शी लाल छाया की उम्मीद है। इसके बजाय मुझे 2 पीएक्स लंबा पारदर्शी लाल छाया दी गई है। यह ठीक उसी तरह कैसे दिख सकता है जैसा मैं चाहता हूं? मैंने UITabBar को समान उपस्थिति सेटिंग्स की हैं। दूसरी तरफ, अच्छी तरह से व्यवहार करता है।
श्रेणी समारोह है कि गतिशील छवियों पैदा करता है तो के रूप में परिभाषित किया गया है:
+ (UIImage*)imageWithColor:(UIColor *)color size:(CGSize)size
{
CGRect rect = CGRectMake(0.0f, 0.0f, size.width, size.height);
UIGraphicsBeginImageContext(rect.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextSetFillColorWithColor(context, [color CGColor]);
CGContextFillRect(context, rect);
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return image;
}
तुम सिर्फ CALayer के लिए एक छाया जोड़ने में देखा है
यहाँ पूर्ण कोड है? http://stackoverflow.com/questions/805872/how-do-i-draw-a-shadow-under-a-uiview – cmyr
@cmyr '[UINavigationBar उपस्थिति] .layer.borderWidth = 0.5f; [UINavigationBar उपस्थिति] .layer.borderColor = [UIColor redcolor] .CGColor; 'नेविगेशन बार के नीचे कुछ भी नहीं दिखाता है। – Pwner
क्या आपने परत की क्लिप को टोबाउंड को सेट किया है? – cmyr