< UIKit >

UIBarCommon.h

2019-02-18  本文已影响1人  zhYx_

#if USE_UIKIT_PUBLIC_HEADERS || !__has_include(<UIKitCore/UIBarCommon.h>)
//
//  UIBarCommon.h
//  UIKit
//
//  Copyright (c) 2013-2018 Apple Inc. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
/* 标签公共类 */





/* 标签度量 <枚举> */
typedef NS_ENUM(NSInteger, UIBarMetrics) {
    UIBarMetricsDefault,                // 默认(横屏导航条变宽)
    UIBarMetricsCompact,                // 横屏紧凑(竖屏没有,横屏有)
    UIBarMetricsDefaultPrompt = 101,    // 竖屏高度变大(仅适用于具有prompt属性的bar,如UINavigationBar和UISearchBar)
    UIBarMetricsCompactPrompt,          // 横屏高度变大

    UIBarMetricsLandscapePhone NS_ENUM_DEPRECATED_IOS(5_0, 8_0, "Use UIBarMetricsCompact instead") = UIBarMetricsCompact,
    UIBarMetricsLandscapePhonePrompt NS_ENUM_DEPRECATED_IOS(7_0, 8_0, "Use UIBarMetricsCompactPrompt") = UIBarMetricsCompactPrompt,
};

/* 标签位置 <枚举> */
typedef NS_ENUM(NSInteger, UIBarPosition) {
    UIBarPositionAny = 0,
    UIBarPositionBottom = 1,        // 条形位于其局部背景的底部,并且相应地绘制定向装饰(如条形图上方的阴影)
    UIBarPositionTop = 2,           // 标签位于当前视图的顶部,并且相应地进行定向装饰(如标签下方的阴影)
    UIBarPositionTopAttached = 3,   // 标签位于屏幕的顶部(以及其本地上下文)其背景向上延伸(目前仅适用于状态栏)
} NS_ENUM_AVAILABLE_IOS(7_0);

#define UIToolbarPosition UIBarPosition
#define UIToolbarPositionAny UIBarPositionAny
#define UIToolbarPositionBottom UIBarPositionBottom
#define UIToolbarPositionTop UIBarPositionTop

///!!!: 标签定位 <协议>
@protocol UIBarPositioning <NSObject> // UINavigationBar, UIToolbar, and UISearchBar conform to this
// 获取 标签位置
@property(nonatomic,readonly) UIBarPosition barPosition;
@end





///!!!: 标签定位代理 <协议>
@protocol UIBarPositioningDelegate <NSObject> // UINavigationBarDelegate, UIToolbarDelegate, and UISearchBarDelegate all extend from this
@optional
/**
 向Delegate询问新窗口中指定标签的位置

 @param bar 指定标签
 @return 标签位置
 */
- (UIBarPosition)positionForBar:(id <UIBarPositioning>)bar;
@end





NS_ASSUME_NONNULL_END

#else
#import <UIKitCore/UIBarCommon.h>
#endif

上一篇下一篇

猜你喜欢

热点阅读