2929@property (nonatomic , strong , readonly ) MASViewAttribute *baseline;
3030@property (nonatomic , strong , readonly ) MASViewAttribute *(^attribute)(NSLayoutAttribute attr);
3131
32- #if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (__TV_OS_VERSION_MIN_REQUIRED >= 9000) || (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101100)
33-
3432@property (nonatomic , strong , readonly ) MASViewAttribute *firstBaseline;
3533@property (nonatomic , strong , readonly ) MASViewAttribute *lastBaseline;
3634
37- #endif
38-
3935#if TARGET_OS_IPHONE || TARGET_OS_TV
4036
4137@property (nonatomic , strong , readonly ) MASViewAttribute *leftMargin;
4945
5046#endif
5147
52- #if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || (__TV_OS_VERSION_MIN_REQUIRED >= 110000)
48+ #if TARGET_OS_IPHONE || TARGET_OS_TV
5349
54- @property (nonatomic , strong , readonly ) MASViewAttribute *safeAreaLayoutGuideTop;
55- @property (nonatomic , strong , readonly ) MASViewAttribute *safeAreaLayoutGuideBottom;
56- @property (nonatomic , strong , readonly ) MASViewAttribute *safeAreaLayoutGuideLeft;
57- @property (nonatomic , strong , readonly ) MASViewAttribute *safeAreaLayoutGuideRight;
50+ @property (nonatomic , strong , readonly ) MASViewAttribute *safeAreaLayoutGuideLeading NS_AVAILABLE_IOS (11.0 );
51+ @property (nonatomic , strong , readonly ) MASViewAttribute *safeAreaLayoutGuideTrailing NS_AVAILABLE_IOS (11.0 );
52+ @property (nonatomic , strong , readonly ) MASViewAttribute *safeAreaLayoutGuideLeft NS_AVAILABLE_IOS (11.0 );
53+ @property (nonatomic , strong , readonly ) MASViewAttribute *safeAreaLayoutGuideRight NS_AVAILABLE_IOS (11.0 );
54+ @property (nonatomic , strong , readonly ) MASViewAttribute *safeAreaLayoutGuideTop NS_AVAILABLE_IOS (11.0 );
55+ @property (nonatomic , strong , readonly ) MASViewAttribute *safeAreaLayoutGuideBottom NS_AVAILABLE_IOS (11.0 );
56+ @property (nonatomic , strong , readonly ) MASViewAttribute *safeAreaLayoutGuideWidth NS_AVAILABLE_IOS (11.0 );
57+ @property (nonatomic , strong , readonly ) MASViewAttribute *safeAreaLayoutGuideHeight NS_AVAILABLE_IOS (11.0 );
58+ @property (nonatomic , strong , readonly ) MASViewAttribute *safeAreaLayoutGuideCenterX NS_AVAILABLE_IOS (11.0 );
59+ @property (nonatomic , strong , readonly ) MASViewAttribute *safeAreaLayoutGuideCenterY NS_AVAILABLE_IOS (11.0 );
5860
5961#endif
6062
6971 return [self mas_##attr]; \
7072}
7173
74+ #define MAS_ATTR_FORWARD_AVAILABLE (attr, available ) \
75+ - (MASViewAttribute *)attr available { \
76+ return [self mas_##attr]; \
77+ }
78+
7279@implementation MAS_VIEW (MASShorthandAdditions)
7380
7481MAS_ATTR_FORWARD (top);
@@ -83,13 +90,9 @@ MAS_ATTR_FORWARD(centerX);
8390MAS_ATTR_FORWARD (centerY);
8491MAS_ATTR_FORWARD (baseline);
8592
86- #if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (__TV_OS_VERSION_MIN_REQUIRED >= 9000) || (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101100)
87-
8893MAS_ATTR_FORWARD (firstBaseline);
8994MAS_ATTR_FORWARD (lastBaseline);
9095
91- #endif
92-
9396#if TARGET_OS_IPHONE || TARGET_OS_TV
9497
9598MAS_ATTR_FORWARD (leftMargin);
@@ -101,14 +104,16 @@ MAS_ATTR_FORWARD(trailingMargin);
101104MAS_ATTR_FORWARD (centerXWithinMargins);
102105MAS_ATTR_FORWARD (centerYWithinMargins);
103106
104- #endif
105-
106- #if (__IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || (__TV_OS_VERSION_MIN_REQUIRED >= 110000)
107-
108- MAS_ATTR_FORWARD (safeAreaLayoutGuideTop);
109- MAS_ATTR_FORWARD (safeAreaLayoutGuideBottom);
110- MAS_ATTR_FORWARD (safeAreaLayoutGuideLeft);
111- MAS_ATTR_FORWARD (safeAreaLayoutGuideRight);
107+ MAS_ATTR_FORWARD_AVAILABLE (safeAreaLayoutGuideLeading, NS_AVAILABLE_IOS (11.0 ));
108+ MAS_ATTR_FORWARD_AVAILABLE (safeAreaLayoutGuideTrailing, NS_AVAILABLE_IOS (11.0 ));
109+ MAS_ATTR_FORWARD_AVAILABLE (safeAreaLayoutGuideLeft, NS_AVAILABLE_IOS (11.0 ));
110+ MAS_ATTR_FORWARD_AVAILABLE (safeAreaLayoutGuideRight, NS_AVAILABLE_IOS (11.0 ));
111+ MAS_ATTR_FORWARD_AVAILABLE (safeAreaLayoutGuideTop, NS_AVAILABLE_IOS (11.0 ));
112+ MAS_ATTR_FORWARD_AVAILABLE (safeAreaLayoutGuideBottom, NS_AVAILABLE_IOS (11.0 ));
113+ MAS_ATTR_FORWARD_AVAILABLE (safeAreaLayoutGuideWidth, NS_AVAILABLE_IOS (11.0 ));
114+ MAS_ATTR_FORWARD_AVAILABLE (safeAreaLayoutGuideHeight, NS_AVAILABLE_IOS (11.0 ));
115+ MAS_ATTR_FORWARD_AVAILABLE (safeAreaLayoutGuideCenterX, NS_AVAILABLE_IOS (11.0 ));
116+ MAS_ATTR_FORWARD_AVAILABLE (safeAreaLayoutGuideCenterY, NS_AVAILABLE_IOS (11.0 ));
112117
113118#endif
114119
0 commit comments