//
// ViewController.swift
// RActionSheet
//
// Created by ray on 2017/8/15.
// Copyright © 2017年 ray. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
var label: UILabel!
var btn: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
let label = UILabel.init(frame: CGRect.init(x: 0, y: 100, width: RScreenW, height: 30))
label.font = UIFont.systemFont(ofSize: 15)
label.text = "有个大牛说:对待警告要像对待错误一样.有个大牛说:对待警告要像对待错误一样.有个大牛说:对待警告要像对待错误一样."
label.numberOfLines = 1
self.view.addSubview(label)
self.label = label
let btn = UIButton.init(type: UIButtonType.system)
btn.frame = CGRect.init(x: 0, y: label.frame.origin.y+label.frame.size.height, width: 50, height: 30)
btn.setTitle("展开", for: .normal)
btn.addTarget(self, action: #selector(showMore), for: UIControlEvents.touchUpInside)
self.btn = btn
self.view.addSubview(btn)
}
func showMore() {
if self.label.numberOfLines == 0 {
self.label.numberOfLines = 1
self.label.frame = CGRect.init(x: 0, y: 100, width: RScreenW, height: 30)
btn.frame.origin = CGPoint.init(x: 0, y: label.frame.origin.y+label.frame.size.height)
btn.setTitle("展开", for: .normal)
return
}
self.label.numberOfLines = 0
self.label.frame = CGRect.init(x: 0, y: 100, width: RScreenW, height: (self.label.text?.heightWithConstrainedWidth(width: RScreenW, font: self.label.font))!)
btn.frame.origin = CGPoint.init(x: 0, y: label.frame.origin.y+label.frame.size.height)
btn.setTitle("收起", for: .normal)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
extension String {
func heightWithConstrainedWidth(width: CGFloat, font: UIFont) -> CGFloat {
let constraintRect = CGSize(width: width, height: CGFloat.greatestFiniteMagnitude)
let boundingBox = self.boundingRect(with: constraintRect, options: NSStringDrawingOptions.usesLineFragmentOrigin, attributes: [NSFontAttributeName: font], context: nil)
return boundingBox.height
}
}
iOS---简单的模仿一下朋友圈收起/展开
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...