//
//  UIViewController+DDCategory.h
//  DDCategoryKit_Private
//  Created by DDIsFriend on 2022/9/23.

#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN

@interface UIViewController (DDCategory)
/**
 * It is recommended to set the background color or image of the navigation bar by these properties.These properties will be set automatically between  the end of viewController's viewdidload and  the begin of viewController's viewwillappear.
 */
@property (nonatomic, strong, nullable)UIColor *dd_navigationBarBackgroundColor;// navigationBar's backgroundColor.
@property (nonatomic, strong, nullable)UIImage *dd_navigationBarBackgroundImage;// navigationBar's backgroundImage.
@property (nonatomic, strong, nullable)UIColor *dd_navigationBarShadowColor API_AVAILABLE(ios(13.0), tvos(13.0));// navigationBar's shadowColor.
@property (nonatomic, strong, nullable)UIImage *dd_navigationBarShadowImage;// navigationBar's shadowImage.
@property (nonatomic, strong, nullable)NSDictionary<NSAttributedStringKey,id> *dd_navigationBarTitleTextAttributes;// navigationBar's title attributes.
@property (nonatomic, strong, nullable) NSDictionary<NSAttributedStringKey,id> *dd_navigationBarBarButtonItemAttributes;// navigationBar's left or right barButtonItem's attributes,this property should be invoked after barButtonItem has be set.

- (void)dd_saveNavigationBarBackgroundColor:(nullable UIColor *)dd_navigationBarBackgroundColor;
- (void)dd_saveNavigationBarBackgroundImage:(nullable UIImage *)dd_navigationBarBackgroundImage;
- (void)dd_saveNavigationBarShadowColor:(nullable UIColor *)dd_navigationBarShadowColor API_AVAILABLE(ios(13.0), tvos(13.0));
- (void)dd_saveNavigationBarShadowImage:(nullable UIImage *)dd_navigationBarShadowImage;
- (void)dd_saveNavigationBarTitleTextAttributes:(NSDictionary<NSAttributedStringKey,id> *)dd_navigationBarTitleTextAttributes;
@end

NS_ASSUME_NONNULL_END
