Daniel's Code Home

写代码就是一场修行


  • 首页

  • 归档

  • 分类

  • 标签

  • TopX

  • 关于

Tips3-UILabel 文字竖向排列的简便实现

发表于 2018-06-04 | | 阅读次数:
| 字数统计: 68

在开发过程中,偶尔会碰到文字竖向排列的需求,在这里向大家介绍一种直观简便的方法,3行代码搞定。

1
2
3
UILabel *label = [UILabel alloc] initWithFrame:CGRectMake(0, 0, 50, 120);
label.text = @"本\n地\n音\n乐";
label.lineBreakMode = NSLineBreakByWordWrapping;


Tips2-UIButton实现左文字右图片

发表于 2018-06-01 | | 阅读次数:
| 字数统计: 199
简单明了实现UIButton左文字右图片

在iOS开发中经常会遇到左边文字右边图片的控件设计需求,咋一看,好像可以用UIButton来做。但是,等等,UIButton是左图片右文字呀!
这个时候,你去找设计妹子,要求改成系统样式。妹子们通常会说:“这样更好看呀!”
然后,你只有回去乖乖地去做:用一个UIView当做background,在background的右边放一个UIImageView,左边放一个UILabel,再用约束将它们调成想要的样子。这样做也不费事,但是有没有更简便的方法呢?

有!

For Example:

1
2
3
4
5
UIButton *btn = [UIButton alloc] init];
[btn setTitle:@"Next" forState:UIControlStateNormal];
[btn setImage:[UIImage imageNamed:@"arrow"] forState:UIControlStateNormal];
[btn setTitleEdgeInsets:UIEdgeInsetsMake(0, -btn.imageView.size.width, 0, btn.imageView.size.width)];  
[btn setImageEdgeInsets:UIEdgeInsetsMake(0, btn.titleLabel.bounds.size.width, 0, -btn.titleLabel.bounds.size.width)];


Tips1- Swift中如何优雅的设置属性

发表于 2018-05-31 | | 阅读次数:
| 字数统计: 215

@IBOutlet 的 didSet方法

在iOS开发过程中,即使你在IB或者SB中已经对View的属性进行了设置,但通常不可避免地会用代码进行重新设置。在传统的Objective-C写法中,通常会将这段重置属性代码写在viewDidLoad方法内,Swift虽然也可以写在该方法内,但我认为一个更合适的地方是在该@IBOutlet的didSet方法中进行。

@IBOutlet修饰的也是一个属性,这个关键字的作用仅仅只是将属性暴露给IB,不会影响属性观察方法(willSet, didSet等)的调用。

For Example:

1
2
3
4
5
6
@IBOutlet var nameLabel: UILabel! {
didSet {
nameLabel.textColor = .white
nameLabel.backgroundColor = .black
}
}

这样写可以让view的相关设置代码相对集中在一起,方便查看和修改,同时也让viewDidLoad方法内部更加干净。

12
QiuDaniel

QiuDaniel

13 日志
12 标签
GitHub
© 2018 — 2019 QiuDaniel