swift语言IOS8开发战记12 Font Of Label

简介:        上一章我们实现了对Navigation的格式以及跳转后页面的tableView的设置,但是Cell的显示有一些需要注意的格式问题,比如如果我们要显示的文字过长,之前的做法没有设置,所以多余的文字会被省略掉,还有cell的字体是默认的,我们如何设置字体的格式,也就是font的设置。

       上一章我们实现了对Navigation的格式以及跳转后页面的tableView的设置,但是Cell的显示有一些需要注意的格式问题,比如如果我们要显示的文字过长,之前的做法没有设置,所以多余的文字会被省略掉,还有cell的字体是默认的,我们如何设置字体的格式,也就是font的设置。为了演示效果,我们去DataArray中把第一行数据的location的值改的很长,运行后的效果就变成下面的样子了:


为了改善这种状况,我们打开DetailTableViewCell类,代码修改如下:

import UIKit

class DetailTableViewCell: UITableViewCell {
    
    var keyLabel: UILabel!
    var valueLabel: UILabel!
    override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)
        keyLabel = UILabel(frame: CGRectMake(14, 7, 100, 40))
        self.contentView.addSubview(keyLabel)
        let labelFont:UIFont = UIFont(name: "Avenir-Medium",size:12)!//设置成我们需要的字体和尺寸
        valueLabel = UILabel(frame: CGRectMake(100, 4, 184, 40))
        valueLabel.font = labelFont
        valueLabel.numberOfLines = 0 //行数不限
        valueLabel.adjustsFontSizeToFitWidth = true //自适应宽度
        self.contentView.addSubview(valueLabel)
    }

    required init(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

运行后的效果如图:


怎么样?是不是舒服了很多。

还有我们之前做的在处理Be here的时候是按照系统给出的改正方法写的,这样会造成永真失去了判断的意义,我们应该改成如下的样子:

 switch indexPath.row {
        case 0:
            cell.keyLabel.text = "Name"
            cell.valueLabel.text = rest?.name
        case 1:
            cell.keyLabel.text = "Type"
            cell.valueLabel.text = rest?.type
        case 2:
            cell.keyLabel.text = "Location"
            cell.valueLabel.text = rest?.location
        case 3:
            cell.keyLabel.text = "Be here"
            let here = rest!.isVisit ? "Yes,I'm here" : "No" //之前是(rest?.isVisit!= nil) ? "Yes,I'm here" : "No"
            cell.valueLabel.text = here
        default:
            break
        }
        return cell
    }
在我们设置页面尺寸的时候会特别想念storyboard。。。好吧,大概就是这些内容,继续加油。


目录
相关文章
|
5天前
|
机器学习/深度学习 TensorFlow Swift
Swift语言适合多个领域的开发
Swift语言适合多个领域的开发
27 9
|
5天前
|
安全 编译器 Swift
Swift开发
Swift开发
21 9
|
6天前
|
机器学习/深度学习 人工智能 移动开发
Swift语言作为苹果公司推出的现代编程语言
Swift语言作为苹果公司推出的现代编程语言
20 8
|
8天前
|
安全 数据处理 Swift
深入探索iOS开发中的Swift语言特性
本文旨在为开发者提供对Swift语言在iOS平台开发的深度理解,涵盖从基础语法到高级特性的全面分析。通过具体案例和代码示例,揭示Swift如何简化编程过程、提高代码效率,并促进iOS应用的创新。文章不仅适合初学者作为入门指南,也适合有经验的开发者深化对Swift语言的认识。
25 9
|
6天前
|
机器学习/深度学习 安全 数据挖掘
Swift语言的应用场景非常广泛
Swift语言的应用场景非常广泛
17 4
|
6天前
|
安全 Swift iOS开发
Swift语言
Swift语言
14 4
|
7天前
|
Android开发 Swift iOS开发
探索安卓与iOS开发的差异和挑战
【10月更文挑战第37天】在移动应用开发的广阔舞台上,安卓和iOS这两大操作系统扮演着主角。它们各自拥有独特的特性、优势以及面临的开发挑战。本文将深入探讨这两个平台在开发过程中的主要差异,从编程语言到用户界面设计,再到市场分布的不同影响,旨在为开发者提供一个全面的视角,帮助他们更好地理解并应对在不同平台上进行应用开发时可能遇到的难题和机遇。
|
5天前
|
iOS开发 开发者
探索iOS开发中的SwiftUI框架
【10月更文挑战第39天】在苹果的生态系统中,SwiftUI框架以其声明式语法和易用性成为开发者的新宠。本文将深入SwiftUI的核心概念,通过实际案例展示如何利用这一框架快速构建用户界面,并探讨其对iOS应用开发流程的影响。
|
物联网 Android开发 iOS开发
iOS开发 - 蓝牙学习的总结
iOS开发 - 蓝牙学习的总结
185 0
|
iOS开发
IOS开发---菜鸟学习之路--(九)-利用PullingRefreshTableView实现下拉刷新
本章主要讲解如何利用PullingRefreshTableView实现下拉(上拉)刷新的操作  PullingRefreshTableView 实现上下拉刷新的例子百度有很多,大家可以自己搜索下,先看下那些例子(一般搜索过来的都是一样的大家反正先把那部分内容先了解一下,然后再看本文档比较好。
883 0