美文网首页ios
UI基础的简单控制

UI基础的简单控制

作者: iOS_Cqlee | 来源:发表于2015-09-26 15:10 被阅读65次

    contentMode属性

    带有scale单词的:图片有可能会拉伸

    UIViewContentModeScaleToFill

    将图片拉伸至填充整个imageView

    图片显示的尺寸跟imageView的尺寸是一样的

    带有aspect单词的:保持图片原来的宽高比

    UIViewContentModeScaleAspectFit

    保证刚好能看到图片的全部

    UIViewContentModeScaleAspectFill

    拉伸至图片的宽度或者高度跟imageView一样

    没有scale单词的:图片绝对不会被拉伸,保持图片的原尺寸

    UIViewContentModeCenter

    UIViewContentModeTop

    UIViewContentModeBottom

    UIViewContentModeLeft

    UIViewContentModeRight

    UIViewContentModeTopLeft

    UIViewContentModeTopRight

    UIViewContentModeBottomLeft

    UIViewContentModeBottomRight

    小语法点

    不能直接修改:OC对象的结构体属性的成员

    下面的写法是错误的

    imageView.frame.size= imageView.image.size;

    正确写法

    //在OC中对象结构体成员的修改,可以创建一个临时的结构体来取值CGRecttempFrame = imageView.frame;tempFrame.size= imageView.image.size;imageView.frame= tempFrame;

    initWithImage:方法

    利用这个方法创建出来的imageView的尺寸和传入的图片尺寸一样

    修改frame的3种方式

    直接使用CGRectMake函数

    imageView.frame=CGRectMake(100,100,200,200);

    利用临时结构体变量

    CGRecttempFrame = imageView.frame;tempFrame.origin.x=100;tempFrame.origin.y=100;tempFrame.size.width=200;tempFrame.size.height=200;imageView.frame= tempFrame;

    使用大括号{}形式

    imageView.frame= (CGRect){{100,100}, {200,200}};

    抽取重复代码

    将相同代码放到一个新的方法中

    不用的东西就变成方法的参数

    图片的加载方式

    有缓存

    UIImage*image = [UIImageimageNamed:@"图片名"];

    使用场合:图片比较小、使用频率较高

    建议把需要缓存的图片直接放到Images.xcassets

    无缓存

    NSString*file = [[NSBundlemainBundle] pathForResource:@"图片名"ofType:@"图片的扩展名"];UIImage*image = [UIImageimageWithContentsOfFile:@"图片文件的全路径"];

    使用场合:图片比较大、使用频率较小

    不需要缓存的图片不能放在Images.xcassets

    放在Images.xcassets里面的图片,只能通过图片名去加载图片

    延迟做一些事情

    [abc performSelector:@selector(stand:) withObject:@"123"afterDelay:10];// 10s后自动调用abc的stand:方法,并且传递@"123"参数

    音频文件的简单播放

    // 创建一个音频文件的URL(URL就是文件路径对象)NSURL*url = [[NSBundlemainBundle] URLForResource:@"音频文件名"withExtension:@"音频文件的扩展名"];// 创建播放器self.player= [AVPlayerplayerWithURL:url];// 播放[self.playerplay];


    UIImageView的常见属性

    @property(nonatomic,retain)UIImage*image;显示的图片@property(nonatomic,copy)NSArray*animationImages;显示的动画图片@property(nonatomic)NSTimeIntervalanimationDuration;动画图片的持续时间@property(nonatomic)NSIntegeranimationRepeatCount;动画的播放次数(默认是0,代表无限播放)

    UIImageView的常见方法

    -(void)startAnimating//开始动画

    -(void)stopAnimating;//停止动画

    -(BOOL)isAnimating;//是否正在执行动画

    UIImage

    一个UIImage对象代表一张图片,一般通过imageNamed:方法就可以通过文件名加载项目中的图片

    例子

    UIImage*image = [UIImageimageNamed:@"lufy"];

    UILabel

    设置显示多少行,要想显示所有的行数,设置为0

    label.numberOfLines =2;

    @property(nonatomic,copy)NSString*text;显示的文字@property(nonatomic,retain)UIFont*font;字体@property(nonatomic,retain)UIColor*textColor;文字颜色@property(nonatomic)NSTextAlignmenttextAlignment;对齐模式(比如左对齐、居中对齐、右对齐)@property(nonatomic)NSIntegernumberOfLines;文字行数@property(nonatomic)NSLineBreakModelineBreakMode;换行模式

    UIFront

    UIFont代表字体,常见创建方法有以下几个:

    1系统默认字体 + (UIFont *)systemFontOfSize:(CGFloat)fontSize;

    2粗体 + (UIFont *)boldSystemFontOfSize:(CGFloat)fontSize;

    3斜体 + (UIFont *)italicSystemFontOfSize:(CGFloat)fontSize;

    可以不用记,当需要时,要学会自学,跳到头文件中,查看就可以,不懂的可以自己动手测试出来


    UIButton

    UIbutton的状态

    normal(普通状态)

    默认情况(Default)

    对应的枚举常量:UIControlStateNormal

    highlighted(高亮状态)

    按钮被按下去的时候(手指还未松开)

    对应的枚举常量:UIControlStateHighlighted

    disabled(失效状态,不可用状态)

    如果enabled属性为NO,就是处于disable状态,代表按钮不可以被点击

    对应的枚举常量:UIControlStateDisabled

    设置按钮在不同状态的背景图片

    按钮的样式

    UIButton的常见设置

    - (void)setTitle:(NSString *)titleforState:(UIControlState)state;设置按钮的文字

    - (void)setTitleColor:(UIColor *)colorforState:(UIControlState)state;设置按钮的文字颜色

    - (void)setImage:(UIImage *)imageforState:(UIControlState)state;设置按钮内部的小图片

    - (void)setBackgroundImage:(UIImage *)imageforState:(UIControlState)state;设置按钮的背景图片

    btn.titleLabel.font = [UIFont systemFontOfSize:13];设置按钮的文字字体(需要拿到按钮内部的label来设置)

    - (NSString *)titleForState:(UIControlState)state;获得按钮的文字

    - (UIColor *)titleColorForState:(UIControlState)state;获得按钮的文字颜色

    - (UIImage *)imageForState:(UIControlState)state;获得按钮内部的小图片

    - (UIImage *)backgroundImageForState:(UIControlState)state;获得按钮的背景图片

    choose for the UIImageView and UILabel and UIButton

    UIButton、UIImageView、UILabel的选择

    仅仅是显示数据,不需要点击

    建议选择UIImageView、UILabel

    不仅显示数据,还需要监听点击

    建议选择UIButton

    其实UIImageView、UILabel也可以通过手势识别器来监听

    长按控件后,会改变显示的内容

    不用考虑了,选择UIButton(因为UIButton有highlighted这种状态)

    同时显示2张图片:背景图片、内容图片

    不用考虑了,选择UIButton

    相关文章

      网友评论

        本文标题:UI基础的简单控制

        本文链接:https://www.haomeiwen.com/subject/blrwcttx.html