中文 | English
To run the example project, clone the repo, and run pod install
from the Example directory first.
pod 'RyukieSwifty'
pod 'RyukieSwifty/UIKit'
pod 'RyukieSwifty/CloudKit'
pod 'RyukieSwifty/Foundation'
pod 'RyukieSwifty/FullScreen'
import UIKit
import RyukieSwifty
class FullScreenViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
setupUI()
}
// MARK: - Life
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
swifty.exitFullScreen()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
swifty.needFullScreen()
}
override func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransition(to: size, with: coordinator)
if size.width > size.height {
switchButton.isSelected = true
} else {
switchButton.isSelected = false
}
}
// MARK: - Function-Public
// MARK: - Function-Private
// MARK: UI
private func setupUI() {
view.backgroundColor = .white
switchButton
.added(to: view)
.layout { make in
make?.center.equalToSuperview()
}
}
// MARK: Buiness
// MARK: Action
@objc
private func switchAction() {
switchButton.isSelected ? swifty.exitFullScreen() : swifty.enterFullScreen()
}
// MARK: Request
// MARK: - VarLet-Public
// MARK: - VarLet-Private
private lazy var switchButton: UIButton = {
return UIButton()
.config {
$0.setTitleColor(.black, for: .normal)
$0.setTitle("切换为横屏", for: .normal)
$0.setTitle("切换为竖屏", for: .selected)
$0.addTarget(self, action: #selector(switchAction), for: .touchUpInside)
}
}()
}
extension AppDelegate {
func application(_ application: UIApplication, supportedInterfaceOrientationsFor window: UIWindow?) -> UIInterfaceOrientationMask {
return application.swifty.supportedInterfaceOrientations
}
}
pod 'RyukieSwifty/Router'
通过该协议可以使 Swift
内容中的网络请求实现有 Moya
的风格,更加 Swifty
,不依赖具体第三方网络库,易于切换拓展。
pod 'RyukieSwifty/SwiftyServiceProtocol'
极其轻量化的截屏防护方案,任何需要被保护的 View
作为子视图放入 ScreenShieldView
即可达到截屏时隐藏内容的效果。
pod 'RyukieSwifty/ScreenShield'
Swift - Demo:
import UIKit
import RyukieSwifty
class ViewController: UIViewController {
override func loadView() {
view = ScreenShieldView.create()
}
...
}
OC - Demo:
#import "OCScreenShieldViewController.h"
@import RyukieSwifty;
@interface OCScreenShieldViewController ()
@end
@implementation OCScreenShieldViewController
- (void)loadView {
self.view = [ScreenShieldView createWithFrame:UIScreen.mainScreen.bounds];
}
- (void)viewDidLoad {
[super viewDidLoad];
UIView *cubeView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
cubeView.backgroundColor = [UIColor redColor];
[self.view addSubview:cubeView];
self.view.backgroundColor = [UIColor grayColor];
}
@end
RyukieSama, ryukie.sama@gmail.com
Swifty is available under the MIT license. See the LICENSE file for more info.