UILabel
说两个UILabel的小众属性和方法。
第一个是lineBreakMode属性,该属性设置了当文字内容大于label所能承载的内容的时候该如何展示,也就是说,当文字超长的时候如何截断。
第二个是sizeToFit方法,label调用该方法后,label的尺寸会根据内容来自适应,如果是多行则宽度不变,高度变化;如果是单行,则高度不变,宽度自适应变化。
UIImageView
只说一个animationImages属性。该属性是一个UIImage的数组,可以实现一个简单的动画,但是只有在做非常规动画的时候才会有优势。但是不要存放大量的UIImage实例,这样会容易引起内存问题,进而会导致程序崩溃。
使用代码如下:
//确保每一个UIImage的对象不可以为空,否则会出现崩溃并且不容易定位。
NSArray *array = @[[UIImage imageNamed:@"image1"],
[UIImage imageNamed:@"image2"],
[UIImage imageNamed:@"image3"],
[UIImage imageNamed:@"image4"]];
UIImageView *animationImageView = [[UIImageView alloc] init];
animationImageView.animationImages = array;//设置图像视图的动画图片属性
animationImageView.animationDuration = 4;//设置帧动画时长
animationImageView.animationRepeatCount = 0;//设置无限次循环
[animationImageView startAnimating];//开始播放
//[animationImageView stopAnimating];//停止播放
UIButton
但需要实现一个有点击事件的视图的时候,而这个视图内部的布局有需要自定义,这个时候就可以自定义一个UIButton,然后通过addSubview的方式给自定义的Button添加个性化组件和布局。
之前的时候,遇到上面的需求,我都是子类化一个UIView,然后给该子类添加手势,其实只需要子类化一个UIButton即可,这样就不用自己添加手势了!