簡體   English   中英

具有圖像數組的頁面控件

[英]Page control with image array

我試圖使與圖像數組相關聯的頁面控件。 我只是正確地設置了背景色,只是更改了背景顏色並在初始圖像中加載了圖像,但是當我進一步滾動時,沒有顯示任何內容。 這是我的代碼:

var images: [UIImage] = [
    UIImage(named: "slide1.png")!,
    UIImage(named: "loginButton.png")!,
    UIImage(named: "slide1.png")!,
    UIImage(named: "slide1.png")!
]

func setPageViewinScroll() {

    for index in 0..<4 {

        frame.origin.x = self.scrollView.frame.size.width * CGFloat(index)
        frame.size = self.scrollView.frame.size
        self.scrollView.pagingEnabled = true
        self.imageView.image = images[index]
        let subview = UIView(frame: frame)
        self.scrollView.addSubview(subview)
    }

    self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * 4, self.scrollView.frame.size.height)

    pageControl.addTarget(self, action: Selector("changePage:"), forControlEvents: UIControlEvents.ValueChanged)



}

func changePage(sender: AnyObject) -> () {
        let x = CGFloat(pageControl.currentPage) * scrollView.frame.size.width
        scrollView.setContentOffset(CGPointMake(x, 0), animated: true)
    }

有人知道我在哪里錯嗎?

如何將您的UIImageview添加到UIScrollview而不是像這樣的代碼添加到UIView?

var imageOne:UIImageView!
var imageTwo:UIImageView!
var imageThree:UIImageView!
var imageFour:UIImageView!

func functionCalledFromViewDidLoad() {

    scrollView.frame = CGRectMake(0, 0, self.view.frame.width,self.view.frame.height)

    let scrollViewWidth = scrollView.frame.width
    let scrollViewHeight = scrollView.frame.height

    imageOne = UIImageView(frame: CGRectMake(0, 0,scrollViewWidth, scrollViewHeight))
    imageTwo = UIImageView(frame: CGRectMake(scrollViewWidth*1, 0,scrollViewWidth, scrollViewHeight))
    imageThree = UIImageView(frame: CGRectMake(scrollViewWidth*2, 0,scrollViewWidth, scrollViewHeight))
    imageFour = UIImageView(frame: CGRectMake(scrollViewWidth*3, 0,scrollViewWidth, scrollViewHeight))

    scrollView.addSubview(imageOne)
    scrollView.addSubview(imageTwo)
    scrollView.addSubview(imageThree)
    scrollView.addSubview(imageFour)

}

override func viewDidLayoutSubviews() {


    scrollView.contentSize = CGSizeMake(scrollView.frame.width * 4, scrollView.frame.height)
    imageOne.frame.size.height = scrollView.frame.height
    imageTwo.frame.size.height = scrollView.frame.height
    imageThree.frame.size.height = scrollView.frame.height
    imageFour.frame.size.height = scrollView.frame.height
}

您似乎還需要添加此代碼。

 func scrollViewDidEndDecelerating(scrollView: UIScrollView) {

    // Test the offset and calculate the current page after scrolling ends
    let pageWidth:CGFloat = CGRectGetWidth(scrollView.frame)

    let currentPage = Int(floor((scrollView.contentOffset.x-pageWidth/2)/pageWidth)+1)

     // Change the page indicator
     self.pageControl.currentPage = Int(currentPage)
 }

有關於這個話題非常好的教程, 這里

您是在imageView而不是subView上設置圖像。 現在,您正在將子視圖添加到每個頁面,但未在其上設置圖像。

將子視圖代碼更改為以下內容

let subview = UIImageView(frame: frame)
subview.image = images[index]
self.scrollView.addSubview(subview)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM