38-UI基础常见问题(UIButton和UIImage区别,UIImage两种加载方式区别,frame,bounds,center作用和区别)

来源:互联网 发布:淘宝上的官换机靠谱吗 编辑:程序博客网 时间:2024/05/16 08:45
UI基础常见问题(UIButton和UIImage区别,UIImage两种加载方式区别,frame,bounds,center作用和区别)
一 .选择题

1.storyboard是从Xcode & iOS的 code4.2  iOS5版本来描述界面的 (  E  )
  A.Xcode4.0  iOS7.0
  B.Xcode5.0  iOS6
  C.Xcode5.1  iOS7.1
  D.Xcode5.0  iOS7
E.Xcode4.2  iOS5

2.以下对 .m文件中声明的属性或方法描述正确的是 ( D   )
  A.方法是公有的,属性是私有的
  B.方法是私有的,属性是公有的
  C.方法和属性都是公有的
  D.方法和属性都是私有的,类扩展 也可以叫匿名分类,也保证的封装性

3.以下对控件的作用描述错误的是 (  C  )
  A.UILabel : 作用仅仅是显示一串固定的文字
  B.UIButton :监听用户的点击事件,在用户点击后做出反应
  C.UITextFild :显示可以换行的一串固定的文字
  D.UIView :可以容纳其它一切继承UIView的UI控件

4.以下那个不是设置UIButton的状态 (  A )
  A.UIControlEventTouchUpInside
  B.UIControlStateHighlighted
  C.UIControlStateDisabled
  D.UIControlStateNormal
 
5.如果UIScrollView无法滚动,可能是以下原因( 多选 ABC )
  A.没有设置contentSize
  B.scrollEnabled = NO
  C.没有接收到触摸事件:userInteractionEnabled = NO
  D.没有取消autolayout功能

6.UITableView设置数据源之后以下那两个方法必须实现( BC 多选 )
  A.- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView;
 B.- (
NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
 C.- (
UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
 D. - (
NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section; 

7.以下那个不是UITableViewCell的属性( A  )
 A. UIView *tableHeaderView;
 B. 
UIImageView *imageView;
 C. 
UILabel *textLabel 
 D. 
UIView *contentView;

8.以下对代理和通知描述错误的是(B   )
 A.代理可以做数据传递或通知代理者在特定的时候做某些操作
 B.通知只能告诉监听者发生了什么或让监听者在收到通知后做某些操作,而不能做数据传递
 C.代理是一对一的关系
 D.通知是多对多的关系

9.对于语句NSString *str = [NSData alloc] init];在编译时和运行时分别是什么类型(  D )
  A.编译时NSData,运行时NSData
  B.编译时NSString,运行时NSString
  C.编译时NSData,运行时NSString
  D.编译时NSString,运行时NSData


10.下面的代码问题在哪? ( B  )
 @implementation xxx … … - (void) setVar:(int)i {      self.var = i; }
   A.应该将var synthesize
   B. 调用会出现死循环
   C. 正常
   D. 返回值错误

11.下面那个方法可以比较两个NSString *str1, *str2 的内容是否相同( B  )
    A. if(str1 = str2) xxx ; 
    B. if([str1 isEqualToString:str2]) xxx ; 
    C. if(str1 && str2) xxx ; 
    D. if([str1 length] == [str2 length]) xxx;

二 .简答题


1.请简介frame和bounds及center的作用和区别?
 答:
frame:主要是描述控件的位置和大小,以父控件左上角为中心
bounds:主要用于描述控件的大小,以自己的左上角为中心
center:主要是描述位置,表示控件的中心


2.请简述UIButton和UIImageView的区别?
 答: 
1.在点击事件方面:UIButton可以注册点击事件,UIImageView默认不可以注册事件
2.在使用场合方面:UIImageView只显示图片,不监听点击,在点击了图片之后不做任何操作。UIButton既显示图片,也监听点击事件,在点击了图片之后还要做其他的一些事情。
3.继承结构:UIButton继承自UIController(所以可以注册事件),UIImageView继承自UIView(所以默认不可以注册事件)
4.在显示图片方面:
UIImageView只能显示一种图片且图片默认会填充整个UIImageView,
UIButton可以显示两种图片(见下1>2>),另外还可以显示文字
1>前置:覆盖背景上面的图片,按照之前的尺寸显示
2>背景:背景会填充整个UIButton



3.UIImage的2种加载方式他们的区别开发中如何选择?
 答:
1.[UIImage imageNamed:@””],有缓存,参数传的是文件名
2.[UIImage alloc] initWithContentsOfFile:path],没有缓存,用完就会释放,参数传的是全路径
在开发中用[UIImage alloc] initWithContentsOfFile:path]


0 0