偶然之下接触了一下SFSafariViewController
这么个东东,相当于一个浓缩版的safari
,点进去看了一下里面的API
- (instancetype)init NS_UNAVAILABLE;
- (instancetype)initWithCoder:(NSCoder *)aDecoder NS_UNAVAILABLE;
- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil NS_UNAVAILABLE;
- (instancetype)initWithURL:(NSURL *)URL entersReaderIfAvailable:(BOOL)entersReaderIfAvailable NS_DESIGNATED_INITIALIZER;
- (instancetype)initWithURL:(NSURL *)URL;
@property (nonatomic, weak, nullable) id <SFSafariViewControllerDelegate> delegate;
@property (nonatomic) UIColor *preferredBarTintColor NS_AVAILABLE_IOS(10_0);
@property (nonatomic) UIColor *preferredControlTintColor NS_AVAILABLE_IOS(10_0);
@protocol SFSafariViewControllerDelegate <NSObject>
@optional
- (NSArray<UIActivity *> *)safariViewController:(SFSafariViewController *)controller activityItemsForURL:(NSURL *)URL title:(nullable NSString *)title;
- (void)safariViewControllerDidFinish:(SFSafariViewController *)controller;
- (void)safariViewController:(SFSafariViewController *)controller didCompleteInitialLoad:(BOOL)didLoadSuccessfully;
初始化方法、delegate
、还有设置一些bar的颜色,基本看完这些东东都知道要干嘛!so,没难度!
然而在我写代码的时候,真的给ta坑了一下。
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
_saf = [[SFSafariViewController alloc] initWithURL:[NSURL URLWithString:@"http://www.baidu.com"]];
_saf.delegate = self;
[self showViewController:_saf sender:nil];
}
我以为这样子就结束了,可是我太天真了,给我的画面却是一片空白
what😱,我缺少神马了吗?但这里不需要神马啊!iOS9出的东东,难道要设置这个吗?
结果并不是,然后我设置了提供的两个颜色属性,也是然并卵。
最后我设置他的背景颜色看看究竟,
_saf.view.backgroundColor = [UIColor blueColor];
结果他终于出现在我面前了。
你妹的,居然要设置背景色才出现。
这家伙肯定欠揍,要给点颜色才行😁
简单分享一下,需要深入的朋友可以自行研究,而我只是想知道这个东东可以做什么而已。据说里面大有文章😏。