iOS(swift)控件小笔记

1.label自适应内容:

storyboard中,把里面的lines改成“0”,然后line breaks 选择“character wrap”或者“word wrap”都行。

  • a. UILineBreakModeWordWrap: 在一个单词之后截掉
  • b. UILineBreakModeCharacterWrap: 在一个字符之后截掉
  • c. UILineBreakModeClip: 碰到container 边界就将内容截掉,不管最后一个单词写完与否。
  • d.UILineBreakModeHeadTruncation: 内容的开头用省略号代替,不截后
  • e. UILineBreakModeTailTruncation: 内容的尾部用省略号代替,不截前
  • f. UILineBreakModeMiddleTruncation: 部分中间内容用省略号代替。
2.NSManagedObject 类几乎可以替代任何类
3.viewWillAppear 方法中初始化耗时的操作。
4.用add target添加action

定义一个按钮操作的 function,例如叫“share”

func share() {
}

然后在需要按钮发生action的地方,添加一句:

button.addTarget(self, action: "share", forControlEvents: UIControlEvents.TouchUpInside)

即可完成对按钮的添加操作。

5.text filed编辑完后收起键盘
func textFieldShouldReturn(textField: UITextField) -> Bool {      
 textField.resignFirstResponder()        
return true    
}    
override func touchesBegan(touches: Set, withEvent event: UIEvent?) {
//let touch = touches.first
//let location = touch?.locationInView(self.view) :注释掉的这两句可以知道点击了屏幕哪里。
textField.resignFirstResponder()
}
6.改变keyboard的样式可以用keyboard type:
textField.keyboardType=.DecimalPad// 只有数字的键盘
7.关于照片适配
照片适配.png
8.ios9之后,请求的网址不是https而是http的话,就会报错,这时,只需要在info.plist里加一个新的key即可。
https请求.png
9.动态适配字体

storyboard设置字体时,不设置字体大小,直接选择一种文字样式(例如Headline),那么文字会随着系统设置的字体大小而改变。

  • 第一步.设置属性


    屏幕快照 2016-05-08 22.46.31.png
  • 第二步. 设置iphone上的larger text


    屏幕快照 2016-05-08 22.50.23.png
屏幕快照 2016-05-08 22.50.34.png
10.模糊效果
 override func viewDidLoad() {
     super.viewDidLoad()
     let blurEffectView = UIVisualEffectView(effect:UIBlurEffect(style:.Light))
     blurEffectView.frame = view.frame(铺满整个view)
     imageView.addSubview(blurEffectView)//imageview有预设的图片当背景,所以模糊效果相当于叠加了一层模糊的子视图
}
11. 视图加动画效果(从0到原始大小)
  • 第一步:每个视图都有transform属性:
 override func viewDidLoad() {
        super.viewDidLoad()
        animateView.transform = CGAffineTransformMakeScale(0,0) //一开始不可见
//也可以:let scale = CGAffineTransformMakeScale(0,0)
//CGAffineTransformMakeTranslation(x,y) x:视图初始位置;y视图最终位置
//let translate = CGAffineTransformMakeTranslate(0,500)
}
//animateView.transform = translate 采用移动的动画

//animateView.transform  = CGAffineTransformConcat(scale,translate) 将动画组合起来
  • 第二步:设置动画启动时机及时长(在 viewDidAppear)
    原始大小:CGAffineTransformIdentity
override func viewDidAppear(animated: Bool) {
//普通效果
    // UIView.animateWithDuration(0.3) { ()  -> Void in  self.animateView.transform = CGAffineTransformIdentity }  

//spring效果: Damping(结束前的震荡摆动效果)、velocity(初始速度)、
        UIView.animateWithDuration(0.5, delay: 0.0, usingSpringWithDamping: 0.7, initialSpringVelocity: 0.5, options: [], animations: {
        
            self.animateView.transform = CGAffineTransformIdentity
        }, completion: nil)

}
12. case语句

两种写法等价
case .Book(title: let aTitle, author: let anAuthor, year: let aYear): …
case let .Book(title: aTitle, author: anAuthor, year: aYear): …

13.首次使用【询问是否允许使用麦克风】
询问是否使用麦克风.png

只需要在info.plist上加一个key-value即可。

tableview 部分

(1).定制tableview的索引
  • a. 改变tableview 右侧索引的颜色,在view did load ()里一句话:
self.view.tintColor = UIColor.brownColor()
  • b.
func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) {

//改变section上索引的字体大小

  (view as! UITableViewHeaderFooterView).textLabel?.font = UIFont.systemFontOfSize(14)

//改变第一个“最近浏览”颜色

  if section == 0 {

    (view as! UITableViewHeaderFooterView).textLabel?.textColor = UIColor(red: 234/255, green: 123/255, blue: 116/255, alpha: 1)

  }

  else {

//改变下面的索引字体的颜色

    (view as! UITableViewHeaderFooterView).textLabel?.textColor = UIColor(white: 0, alpha: 0.5)

  }

}
索引.png
(2).去掉tableview上方空白的一段
 override func viewDidLoad() {
        super.viewDidLoad()
    self.automaticallyAdjustsScrollViewInsets = false
 }

(3).去掉tableview下方多余的分割线
 override func viewDidLoad() {
        super.viewDidLoad()
        tableView.tableFooterView = UIView(frame: CGRectZero)
}
(4). 改变分割线颜色
 override func viewDidLoad() {
        super.viewDidLoad()
        tableView.separatorColor = UIColor(white:0.8, alpha:1)
}
(5) . cell自适应高度
 override func viewDidLoad() {
    super.viewDidLoad()
    tableView.estimatedRowHeight = 95.0 //随便预估的高度 
    tableView.rowHeight = UITableViewAutomaticDimension
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,271评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,725评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,252评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,634评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,549评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,985评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,471评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,128评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,257评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,233评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,235评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,940评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,528评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,623评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,858评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,245评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,790评论 2 339

推荐阅读更多精彩内容