HOME > UIScrollView
画像のパラパラ切り替えフォトギャラリーを作成できます。大きな画像の一部分だけを切り抜きしてマスク表示するクラスです。
NSObject
↑
UIResponder
↑
UIView
↑
UIScrollView
参考:UIKit Framework Reference UIScrollView Class Reference
参考:016 UIScrollViewの表示
参考:[iOS8] SwiftでUIScrollViewを利用して画像をスライド・スクロールさせる
プロジェクトにtest_1,2,3.pngが保存されている事が前提のソースですのでご注意ください。任意のファイル名に切り替えてください。
import UIKit
class ViewController: UIViewController {
var scrollView: UIScrollView!
var pageImagesArr = ["test_1.png","test_2.png","test_3.png"];
override func viewDidLoad() {
super.viewDidLoad()
let width = self.view.frame.maxX, height = self.view.frame.maxY
let pageSize = self.pageImagesArr.count;
//ScrollViewの作成
scrollView = UIScrollView(frame: self.view.frame)
scrollView.pagingEnabled = true
scrollView.frame = CGRectMake(0,0,width,height);
scrollView.contentSize = CGSizeMake(CGFloat(pageSize) * width, 0)
//各ページの作成
for var i = 0; i < pageSize; i++ {
let img:UIImage = UIImage(named:self.pageImagesArr[i])!;
let iv:UIImageView = UIImageView(image:img);
iv.frame = CGRectMake(CGFloat(i) * width, 0, width, height);
scrollView.addSubview(iv)
}
self.view.addSubview(scrollView)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
上記太字のcontentSizeが全体のサイズ, 一方frame一コマのサイズとなります。ここを切り替えることで表示の枠を調整できます。
フレームの指定領域毎に切り替わります。マスクされた状態。
scrollView.frame = CGRectMake(0,0,100,100);
trueの場合はframe毎に切り替わりますが、falseの場合は止まることなくぬめ〜と動くようになります。
scrollView.pagingEnabled = false;
思ったよりも簡単に実装できました。もっとGestureイベント等を追加する必要があるかと思いましたが既に実装されているようです。 これの応用でPageControlを利用してチュートリアル画面を作成したりもできますので、過去記事のUIPageControlもよろしければ ご一読ください!
#2015/2/23 追記
横スクロールしながら各ページを2本指でズームする記事を追加しましたUIScrollView2!
2021-05-14 14:21:41 | WatchOSのwatchconnectivityのFiletransferの落とし穴。と、避け方。
AppleWatch 実機だと成功するんだけど、シュミレーターだと失敗するという、、、
昔作成してた時は成功してたのになーと思って調べると、どうやら昔は成功してたみたい。watchOS6以降は... |
2021-05-06 14:04:37 | LINEのアニメーションスタンプ制作の落とし穴、、、失敗談
ゴールデンウィークにLINEスタンプを作成してみました。
作り切って申請も通したんですが、意図したアニメーションと違う、、、、
LINEクリエーターの画面だと、アニメーションのプレビュー... |
2021-05-01 18:05:35 | 久しぶりのAdmobをobjective-cに実装。コンパイルエラーだらけ。バーミッション不具合でエミュレータにインスコできない。
忘れないようにメモ
エミュレータにアプリをインストールする際にパーミッション系のエラーがでた時、また、iphone実機にインストールする際にも権限系のエラーが出る場合。
ターゲット→ex... |
Tweet | |||
|