1酒繁、iPhone尺寸。
2控妻、關(guān)于IDFA獲取權(quán)限州袒。
3、UITableViewCell 兼容問題弓候。
4郎哭、UIPageControl的兼容問題。
5菇存、相機和麥克風(fēng)夸研、黏貼板、定位依鸥、Local Network亥至、Wifi-Address…
一、iPhone尺寸
iPhone最新尺寸.png
二贱迟、關(guān)于IDFA獲取權(quán)限
if (@available(iOS 14, *)) {
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
if (status == ATTrackingManagerAuthorizationStatusAuthorized) {
self.idfa = [[ASIdentifierManager sharedManager] advertisingIdentifier].UUIDString;
}
}];
} else {
// 使用原方式訪問 IDFA
if ([[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]) {
self.idfa = [[ASIdentifierManager sharedManager] advertisingIdentifier].UUIDString;
}
}
三姐扮、UITableViewCell 兼容問題
解決方案:之前[self addSubview:cell] 改為[self.contentView addSubview:cell]
原因:因為self的視圖被self.contentView遮蓋,影響的view的點擊交互
四衣吠、UIPageControl的兼容問題
[_pageControl setValue:[UIImage imageNamed:@"app_lanuch_page_no"] forKeyPath:@"pageImage"];
[_pageControl setValue:[UIImage imageNamed:@"app_lanuch_page_selected"] forKeyPath:@"currentPageImage"];
以上問題出現(xiàn)崩潰茶敏,需要自己繪制顯示的選中的pageControl和未選中的pageControl的樣式。
參考CJWPageControl的方法:
效果:截屏2020-10-20 下午8.01.36.png
代碼:
CJWPageControl.h
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface CJWPageControl : UIView
@property (nonatomic, assign) NSInteger currentPageNumber;
@property (nonatomic, assign) NSInteger pageCount;
@property (nonatomic, assign) NSInteger padding;
@property (nonatomic, strong) UIView *unselectedView;
@property (nonatomic, strong) UIView *selectedView;
@end
NS_ASSUME_NONNULL_END
CJWPageControl.m
#import "CJWPageControl.h"
@interface CJWPageControl()
@property (nonatomic, strong) NSMutableArray *numberSubviews; // 所有
@end
@implementation CJWPageControl
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
self.numberSubviews = [[NSMutableArray alloc] init];
}
return self;
}
- (void)setFrame:(CGRect)frame {
[super setFrame:frame];
[self reSetPageControl];
}
- (void)reSetPageControl {
CGFloat x = 0;
for (int i = 0; i < self.pageCount; i++) {
UIView *view = [_numberSubviews objectAtIndex:i];
if (_currentPageNumber == i) {
[self changeViewLayerFromView:self.selectedView toView:view];
} else {
[self changeViewLayerFromView:self.unselectedView toView:view];
}
view.frame = CGRectMake(x, 0, view.frame.size.width, view.frame.size.height);
x += (view.frame.size.width + _padding);
}
}
- (void)setCurrentPageNumber:(NSInteger)currentPageNumber {
_currentPageNumber = currentPageNumber;
if (_currentPageNumber < _numberSubviews.count) {
[self reSetPageControl];
}
}
- (void)setPageCount:(NSInteger)pageCount {
_pageCount = pageCount;
[self clearSubviews];
for (int i = 0; i < pageCount; i++) {
UIView *view = [[UIView alloc] initWithFrame:self.unselectedView.frame];
view.clipsToBounds = YES;
[self addSubview:view];
[_numberSubviews addObject:view];
}
}
- (void)changeViewLayerFromView:(UIView *)fromView toView:(UIView *)toView {
toView.frame = fromView.frame;
toView.layer.borderColor = fromView.layer.borderColor;
toView.layer.borderWidth = fromView.layer.borderWidth;
toView.backgroundColor = fromView.backgroundColor;
toView.layer.cornerRadius = fromView.layer.cornerRadius;
}
- (void)clearSubviews {
[_numberSubviews removeAllObjects];
for (UIView *subView in self.subviews) {
[subView removeFromSuperview];
}
}
@end
調(diào)用:
截屏2020-10-20 下午8.06.08.png