質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

Q&A

解決済

1回答

2168閲覧

swift UIPageControl

dynamite_nakaji

総合スコア42

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift 2

Swift 2は、Apple社が独自に開発を行っている言語「Swift」のアップグレード版です。iOSやOS X、さらにLinuxにも対応可能です。また、throws-catchベースのエラーハンドリングが追加されています。

0グッド

0クリップ

投稿2016/07/28 07:47

スクロールビューを使っていてその下に丸いポチポチ
をつけて、現在の画面位置を確認したいと考えていて
UIPageControlを使っています。

しかし、このコードを打ってもなぜかポチポチUIPageControlは
動いてくれず、一つ目のスクロールビューを示す状態になっています。

そのコードは

import UIKit
class ViewController: UIViewController, UIScrollViewDelegate{

private var pageControl: UIPageControl! private var scrView_right: UIScrollView! override func viewDidLoad() { scrView_right = UIScrollView(frame:CGRectMake(481,0,543,768))//ScrollViewの1ページ分のサイズ + 表示位置 scrView_right.contentSize = CGSizeMake(543*4,768)//全体のサイズ scrView_right.pagingEnabled = true view.addSubview(scrView_right) let back_image1 = UIImageView(frame: CGRectMake(0,0,543,768)) back_image1.backgroundColor = UIColor.magentaColor() scrView_right.addSubview(back_image1) let back_image2 = UIImageView(frame: CGRectMake(543,0,543,768)) back_image2.backgroundColor = UIColor.blackColor() scrView_right.addSubview(back_image2) let back_image3 = UIImageView(frame: CGRectMake(1086,0,543,768)) back_image3.backgroundColor = UIColor.greenColor() scrView_right.addSubview(back_image3) let back_image4 = UIImageView(frame: CGRectMake(1629,0,543,768)) back_image4.backgroundColor = UIColor.yellowColor() scrView_right.addSubview(back_image4) self.view.backgroundColor = UIColor.cyanColor() let pageSize = 5 // 縦方向と、横方向のインディケータを非表示にする. scrView_right.showsHorizontalScrollIndicator = false scrView_right.showsVerticalScrollIndicator = false scrView_right.delegate = self view.addSubview(scrView_right) // PageControlを作成する. pageControl = UIPageControl(frame: CGRectMake(481, self.view.frame.maxY - 100, 543, 50)) pageControl.backgroundColor = UIColor.orangeColor() // PageControlするページ数を設定する. pageControl.numberOfPages = pageSize // 現在ページを設定する. pageControl.currentPage = 0 pageControl.userInteractionEnabled = false self.view.addSubview(pageControl) } func scrollViewDidEndDecelerating(scrollView: UIScrollView) { // スクロール数が1ページ分になったら時. if fmod(scrView_right.contentOffset.x, scrView_right.frame.maxX) == 543 { // ページの場所を切り替える. pageControl.currentPage = Int(scrView_right.contentOffset.x / scrView_right.frame.maxX) } }

}

です。至急お教授お願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

どのサイズ(iPhone,iPad)をターゲットにしているのか分かりませんが以下のようにするといかがでしょうか?
スクロールする部分が4枚しかないのがnumberOfPages5なのが気になりますが、、、

swift

1func scrollViewDidEndDecelerating(scrollView: UIScrollView) { 2 pageControl.currentPage = Int((scrView_right.contentOffset.x) / 543) 3}

投稿2016/07/28 11:11

編集2016/07/28 12:47
_Kentarou

総合スコア8490

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

dynamite_nakaji

2016/07/29 06:12

ありがとうございます!! いつもいつも助かってます。 本当に感謝です(^^)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問