IOS Swift

一. 在viewcontroller里

import UIKit

var page = UIPageControl()

class ViewController: UIViewController,UIScrollViewDelegate {

 

    override func viewDidLoad() {

        super.viewDidLoad()

        let imageArr = ["browse","businesscard","computer"]

 

        // 创建滚动视图

        let scrollView = UIScrollView(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height))

       

        scrollView.delegate = self

        

        

        // 设置分页滚动

        scrollView.isPagingEnabled = true

        // 添加视图

        self.view.addSubview(scrollView)

         page = UIPageControl(frame: CGRect(x: (scrollView.frame.size.width - 150)/2, y: 550, width: 150, height: 50))

        page.numberOfPages = imageArr.count

        page.currentPage = 0

        page.currentPageIndicatorTintColor = UIColor.red

        page.pageIndicatorTintColor = UIColor.lightGray

        self.view .addSubview(page)

       

        

        for i in 0..<imageArr.count {

            // 添加图片

            let imageV = UIImageView(frame: CGRect(x:scrollView.frame.size.width * CGFloat(i) , y: 0, width: scrollView.frame.size.width, height: scrollView.frame.size.height))

            imageV.image = UIImage(named: imageArr[i])

            imageV.isUserInteractionEnabled = true

            if i == 2{

                var button = UIButton (type: UIButtonType.system)

                button = UIButton(frame: CGRect(x: (scrollView.frame.size.width - 150)/2, y: 350, width: 150, height: 50))

                

                button.backgroundColor = UIColor .blue

                button.setTitle("立即体验", for: UIControlState.init(rawValue: 0))

                button.setTitleColor(UIColor.white, for: UIControlState.init(rawValue: 0))

                button.addTarget(self, action: #selector(self.push), for: UIControlEvents.touchUpInside)

                imageV.addSubview(button)

                

            }

            // 把图片添加到滚动视图上

            scrollView.addSubview(imageV)

        }

        

        // 设置滚动范围

        scrollView.contentSize = CGSize(width: scrollView.frame.size.width * CGFloat(imageArr.count), height: 0)

        

        

    }

    // 按钮跳转

    @objc func push(){

        let  new  = NewViewController()

        self.present(new, animated: true, completion: nil)

        

    }

    // scrollview 代理

    func scrollViewDidScroll(_ scrollView: UIScrollView) {

        let ofset = scrollView.contentOffset.x/self.view.frame.size.width

        page.currentPage = Int(ofset)

        

    }

    

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

 

    }

 

 

}

二 新建NewViewController

 

import UIKit

 

class NewViewController: UIViewController,UITableViewDelegate,UITableViewDataSource {

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

        return 12 ;

    }

    

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        let identifier = "cell"

        var  cell = tablview?.dequeueReusableCell(withIdentifier:identifier)

        if cell == nil{

            cell = UITableViewCell(style: .default, reuseIdentifier: identifier)

        }

//        cell?.detailTextLabel?.text = "模拟月考"

        cell?.textLabel?.text = "模拟数据"

        return cell!

    }

    

    var tabArr:[Model]?

    var tablview:UITableView?

    

    override func viewDidLoad() {

        super.viewDidLoad()

        self.view.backgroundColor  = UIColor.white

    // 创建表格

        self.tablview = UITableView(frame: self.view.frame, style: .plain)

        self.tablview?.delegate = self

        self.tablview?.dataSource = self

        self.view.addSubview(tablview!)

    }

    override func viewWillAppear(_ animated: Bool) {

        super.viewWillAppear(animated)

        

    }

    

    // 请求网络数据

    func requestNetWorlData() -> Void {

        // 转动菊花

        UIApplication.shared.isNetworkActivityIndicatorVisible = true

        // 开始请求

        let urlService = Headle()

        urlService.getNewsData(channel: "头条", startSum: 0)

        DispatchQueue.main.async {

            self.tablview?.reloadData()

        }

    }

    三 . 创建model

import UIKit

 

class Model: NSObject {

    var pic:String = ""

    var title:String = ""

    var weburl:String = ""

}

四 创建一个Headle 实现model

import UIKit

 

class Headle: NSObject {

    func getNewsData(channel:String,startSum:Int) -> Void {

        var urlStr = "http://api.jisuapi.com/news/get?channel=头条&start=0&num=10&appkey=de394933e1a3e2db"

        urlStr = urlStr.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlFragmentAllowed)!

        let url = URL(string: urlStr)

        let red  =  URLRequest(url: url!, cachePolicy: .reloadIgnoringLocalCacheData, timeoutInterval: 10.0)

        let task:URLSessionDataTask = URLSession.shared.dataTask(with: red) { (data, response, error) in

            if error != nil{

            return

            }

            let jsonData = try? JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions.allowFragments)

            _ = (jsonData as! NSDictionary) .value(forKey: "status")as! String

            

            _ = (jsonData as! NSDictionary).value(forKey: "msg") as! String

            let result = (jsonData as! NSDictionary).value(forKey: "result") as! NSDictionary

            let list = (result.value(forKey: "list") as! NSArray)

            var arr:[Model] = []

            for item in list{

                let dic = (item as! NSDictionary)

                let oneNew = Model()

                oneNew.title = dic.value(forKey: "title")as!String

                oneNew.pic = dic.value(forKey: "pic")as!String

                oneNew.weburl = dic.value(forKey: "weburl")as!String

                arr.append(oneNew)

            }

         }

         task.resume()        

    }

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值