UIViewを指でリサイズできるいい感じのライブラリが調べても見つからなかったので作りました。
#とりあえずgithub
OTResizableView
#機能
・Swift4・Xcode9対応
・Objective-Cからも使える
・UIViewのリサイズ・移動
・枠線、グリップポイントの色変更
・superviewからはみ出さない制御
・アスペクト維持リサイズ
#導入
CocoaPodsとCarthageで導入できます。
CocoaPods
pod 'OTResizableView'
Carthage
github "PKPK-Carnage/OTResizableView"
#使い方
let resizableView = OTResizableView(contentView: yourView)
resizableView.delegate = self
//色の変更はここでできます。
view.addSubview(resizableView)
//リサイズ許可はaddSubView後のみ可能です。
resizableView.resizeEnabled = true
OTResizableView *resizableView = [[OTResizableView alloc] initWithContentView:yourView];
resizableView.delegate = self;
//色の変更はここでできます。
view.addSubview(resizableView)
//リサイズ許可はaddSubView後のみ可能です。
resizableView.resizeEnabled = YES;
#OTResizableDelegate
デリゲートは以下の4つのメソッドがあります。
@objc public protocol OTResizableViewDelegate: class {
@objc optional func tapBegin(_ resizableView:OTResizableView)
@objc optional func tapChanged(_ resizableView:OTResizableView)
@objc optional func tapMoved(_ resizableView:OTResizableView)
@objc optional func tapEnd(_ resizableView:OTResizableView)
}
##tapBegin
OTResizableViewをタップした際に実行されます。
このタイミングで resizeEnabled プロパティを切り替えたりするといいんじゃないかと思います。
##tapChanged
OTResizableViewがリサイズしている時に実行されます。
##tapMoved
OTResizableViewが移動している時に実行されます。
##tapEnd
OTResizableViewがリサイズ、移動を終了した時に実行されます。
#まとめ
よかったら使ってみてね。