タブバーの影をこの画像のように見せようとしています:
これを行う最良の方法は何ですか?私はobjective-cを使用しています
ありがとう
次のコードを使用して任意のUIオブジェクトに影を付けることができます
tabControl.layer.shadowOffset = CGSizeMake(0, 0);
tabControl.layer.shadowRadius = 2;
tabControl.layer.shadowColor = [UIColor blackColor].CGColor;
tabControl.layer.shadowOpacity = 0.3;
ここでは、tabControlオブジェクトの例を示しました。
Swift 4:の場合
self.tabBarController?.tabBar.layer.shadowColor = UIColor.black.cgColor
self.tabBarController?.tabBar.layer.shadowOffset = CGSize(width: 0.0, height: 1.0)
self.tabBarController?.tabBar.layer.shadowRadius = 5
self.tabBarController?.tabBar.layer.shadowOpacity = 1
self.tabBarController?.tabBar.layer.masksToBounds = false
スウィフト4:
tabBar.layer.shadowOffset = CGSize(width: 0, height: 0)
tabBar.layer.shadowRadius = 2
tabBar.layer.shadowColor = UIColor.black.cgColor
tabBar.layer.shadowOpacity = 0.3
Swift 4:
この拡張子を使用
extension UIImage {
class func colorForNavBar(color: UIColor) -> UIImage {
//let rect = CGRectMake(0.0, 0.0, 1.0, 1.0)
let rect = CGRect(Origin: CGPoint(x: 0,y :0), size: CGSize(width: 1.0, height: 1.0))
UIGraphicsBeginImageContext(rect.size)
let context = UIGraphicsGetCurrentContext()
context!.setFillColor(color.cgColor)
context!.fill(rect)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image!
}
}
RGBを使用して影の色を設定
//Set BackgroundColor
UITabBar.appearance().backgroundImage = UIImage.colorForNavBar(color: .white)
//Set Shadow Color
UITabBar.appearance().shadowImage = UIImage.colorForNavBar(color: UIColor.init(red: 120/255.0, green: 120/255.0, blue: 120/255.0, alpha: 1.0))
専用のタブバーメソッドを使用したいと思います。
// Set `backgroundImage` to be able to use `shadowImage`
tabBar.backgroundImage = UIImage.imageWithColor(.white)
tabBar.shadowImage = #imageLiteral(resourceName: "tab_bar_shadow") // 2x34pt works for me