Together项目IOS平台开发10

这次继续上次的内容。在上次的部分,我做了一个搜索的按钮,并且完成了其功能。搜索按钮放置在了发现页面的Navigation的右侧,但是发现页面本身却没有进行设计。这次我将对这个发现页面进行一些初步设计。在计划中,这个地方同样是放上一些项目的条目,来供用户浏览。但是,其中还涉及到项目的分类。因此这里我设计了一个UISegement,来进行分类。网上有一些相对简单的Segement的样例,但是都不尽人意。于是我自己找到了一个第三方的UISegement的开源库——JTSegmentControl。在学习使用了之后,我完成了一个动态滑动的选择栏。

具体的效果如下

代码如下

//
//  SearchViewController.swift
//  FinalTest
//
//  Created by 沈力同 on 2017/5/10.
//  Copyright © 2017年 沈力同. All rights reserved.
//

import UIKit

class SearchViewController: UIViewController {
    
    let screenSizeWidth = UIScreen.main.bounds.size.width
    
    let screenSizeHeight = UIScreen.main.bounds.size.height
    
    let label = UILabel()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        view.backgroundColor = UIColor.clear
        
        
        
        //右侧搜索按钮
        var img1=UIImage(named: "search")
        let item=UIBarButtonItem(image:img1, style: UIBarButtonItemStyle.plain, target: self, action: #selector(LogViewController.click_register))
        self.navigationItem.rightBarButtonItem=item
        self.navigationController?.navigationBar.tintColor = UIColor.black
        
        
        let topBackgroundView = UIView(frame:CGRect(x:0.0, y: 64, width: self.view.bounds.size.width, height: 44.0))
        
        topBackgroundView.backgroundColor = UIColor(red: 255.0/255, green: 250.0/255, blue: 250.0/255, alpha: 1.0)
        
        self.view.addSubview(topBackgroundView)
        
//        //MARK - init JTSegement
//        var frame = CGRect(x: 10.0, y: 64.0, width: self.view.bounds.size.width - 20.0, height: 44.0)
//        let segmentControl = JTSegmentControl(frame: frame)
//        segmentControl.delegate = self
//        segmentControl.items = ["first", "second", "third", "fouth"]
//        segmentControl.showBridge(show: true, index: 1)
//        segmentControl.autoScrollWhenIndexChange = false
        
        
        
        //MARK - init autoAdjustWidth JTSegement
        var frame = CGRect(x:0.0, y: 64, width: self.view.bounds.size.width, height: 44.0)
        let autoWidthControl = JTSegmentControl(frame: frame)
        autoWidthControl.delegate = self
        autoWidthControl.items = ["first", "second", "third", "fouth", "fifth", "sixth", "seventh", "eighth"]
//        autoWidthControl.items = ["first", "second", "third", "fouth"]
        autoWidthControl.showBridge(show: false, index: 4)
        autoWidthControl.selectedIndex = 0
        autoWidthControl.autoAdjustWidth = true
        autoWidthControl.bounces = true
        view.addSubview(autoWidthControl)
        
        
        
        //MARK - test display
        self.label.text = "this is index:" + String(autoWidthControl.selectedIndex)
        self.label.sizeToFit()
        label.center.x = self.view.center.x
        label.center.y = self.view.center.y + 50.0
        label.textColor = UIColor.darkGray
        label.textAlignment = .center
        view.addSubview(label)
        
        
        let SearchDetailViewController0 = SearchDetailViewController_0()
        SearchDetailViewController0.view.frame = CGRect(x:0, y:108,
                                                        width:screenSizeWidth, height:screenSizeHeight)
        self.view.addSubview(SearchDetailViewController0.view)
        
    }
    
    func click_register(){
        
        let SearchButtonView = SearchButtonViewController()
        self.navigationController?.pushViewController(SearchButtonView, animated: true)
    }
    
    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
        super.touchesBegan(touches, with: event)
        //        self.segmentControl?.itemTextColor = UIColor.red
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
    
}

extension SearchViewController : JTSegmentControlDelegate {
    
    func didSelected(segement: JTSegmentControl, index: Int) {
        print("current index \(index)")
        segement.showBridge(show: false, index: index)
        
        switch index {
            
        case 0:
            let SearchDetailViewController0 = SearchDetailViewController_0()
            SearchDetailViewController0.view.frame = CGRect(x:0, y:108,
                                                 width:screenSizeWidth, height:screenSizeHeight)
            self.view.addSubview(SearchDetailViewController0.view)
            
        case 1:
            let SearchDetailViewController1 = SearchDetailViewController_1()
            SearchDetailViewController1.view.frame = CGRect(x:0, y:108,
                                                            width:screenSizeWidth, height:screenSizeHeight)
            self.view.addSubview(SearchDetailViewController1.view)
            
        case 2:
            let SearchDetailViewController2 = SearchDetailViewController_2()
            SearchDetailViewController2.view.frame = CGRect(x:0, y:108,width:screenSizeWidth, height:screenSizeHeight)
            self.view.addSubview(SearchDetailViewController2.view)
            
//        case 3:
//            let mainT = MainTableViewController()
//            mainT.view.frame = CGRect(x:0, y:108,width:screenSizeWidth, height:screenSizeHeight)
//            self.view.addSubview(mainT.view)
            
        default:
            let SearchDetailViewController0 = SearchDetailViewController_0()
            SearchDetailViewController0.view.frame = CGRect(x:0, y:108,
                                                            width:screenSizeWidth, height:screenSizeHeight)
            self.view.addSubview(SearchDetailViewController0.view)
        }
        
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值