UI界面 控件

来源:互联网 发布:3d样板房软件 编辑:程序博客网 时间:2024/06/05 19:33
1.UI中导航控制器和标签控制器能同时使用,但是只会有一个根视图控制器,开发中一般使用标签控制器管理导航控制器 再管理其他视图控制器的三级控制器结构

2.CG NS UI 的简写:
UI User Interface
NS Nest Step
CG CoreGraphics

3.设置Label自动换行 numberOfLines = 0

4.设置TextFiled 只能输入数字 可以通过设置keyboard Type

5.程序中存在多个window时 通过windowLevel设置优先级

6.为了保证层级结构正确 在特定层插入子视图: insertSubview:atIndex
通过父视图索引修改子视图的位置 调到上层或者下层:bringSubviewToFront:
//保证层级结构正确
[self.contentView insertSubview:_reWeiBoTextLabel aboveSubview:_reWeiBoBgImgView];

7.clipsToBounds 裁剪多余的图片部分 在layer层裁剪可以使用maskToBounds

8.viewWithTag 根据tag值找到某个视图

9.[UIViewsetAnimationRepeatCount:NSNotFound];//设置动画无限重复

10.通过layer图层给图片设置图框的属性
imgV.layer.borderColor= [[UIColorwhiteColor]CGColor];
imgV.layer.borderWidth=2;
imgV.layer.cornerRadius=5;
imgV.layer.masksToBounds=YES;
移除layer图层的动画
UIView*view = [self.viewviewWithTag:100];//取出设置了动画的视图
[view.layerremoveAllAnimations];//移除layer图层上面的动画

11.button的selected 相当于flag 

12.clearsOnBeginEditing 设置textField的清除样式

13.returnKeyType 设置return按钮的样式

14.通过 UIKeyboardWillShowNotification通知方法监听键盘的显示

15.通过签订 UITextFieldDelegate 协议监听textField的编辑状态

16.结束textField的编辑状态 隐藏键盘
//UITextField结束编辑,编辑失去响应
 [textFieldresignFirstResponder];// -> 结束编辑的代理的方法 结束编辑后会调用21. 的方法 键盘将隐藏
textFeild 的结束编辑的方法
//1.> 隐藏键盘, 2.> textFeild 失去响应;
[self.chatTF endEditing:YES];


17.有些情况下需要拉伸图片 用以下方法解决
UIEdgeInsetsinset =UIEdgeInsetsMake(imgHeight *.5, imgWidth *.5, imgHeight * .5, imgWidth *.5);//top lef bottom right
//(1)拉伸图片之后,需要更新img
img  = [imgresizableImageWithCapInsets:inset resizingMode:UIImageResizingModeStretch];
//(2)重新再设置这张图片
[imgViewsetImage:img];//这里拉伸图片

18.将图片转换为data形式 
UIImage *jpgImg = [UIImage imageNamed:@"face9.jpg"];
NSData *data =  UIImageJPEGRepresentation(jpgImg,1);
data = UIImagePNGRepresentation(img);

19. 保存图片至本地相册的方法
//将图片保存到相册
UIImage*img1 = [UIImageimageNamed:@"face9.jpg"];
UIImageWriteToSavedPhotosAlbum(img1,self,@selector(image:didFinishSavingWithError:contextInfo:),nil);
}
- (
void)image:(UIImage*)image didFinishSavingWithError:(NSError*)error contextInfo:(void*)contextInfo
{
NSLog(@"图片保存成功!");
}

20.button.showsTouchWhenHighligted = YES;//高亮状态下会有亮光

21.slider.continuous=NO;//slider设置只有在离开滑动条的最后时刻才触发滑动事件 而不是实时显示

22.播放gif动画:
gifImgView.animationImages= mArr;

23.tintColor是描述线条轮廓的一种颜色,该颜色默认具有传递性,默认状态下最底部的视图的tintcolor会一直往上面的视图传递

24.color在0-->1.0之内 随机数只能取整数

25.移除target
[buttonremoveTarget:selfaction:@selector(buttonAction)forControlEvents:UIControlEventTouchUpInside];

26.根据图片颜色填充背景颜色
self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"chat_bg_default.jpg"]];

27.将数组写出到plist文件
28.NSLog(@"%s",__FUNCTION__);//打印出当前调用的类及方法

29.设置模态弹出的方式:secondVC.modalTransitionStyle=UIModalTransitionStylePartialCurl;

30.refactor ->rename 将所有相关类中的同一对象全部重命名

31.#define IB(a,b,c)  可以传参数 可以宏定义一个方法

//根据rgb计算color的方法

#define kRGBColor(r, g, b) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:1.0]


32.有时候button无法设置靠左 使用坐标偏移方法
titleButton.contentEdgeInsets=UIEdgeInsetsMake(0,20,0,0);//边缘嵌入
titleButton.contentHorizontalAlignment=UIControlContentHorizontalAlignmentLeft;

33.根据输入的文字计算出总的文字尺寸
CGRectrect = [_contentboundingRectWithSize:CGSizeMake(200,999)options:NSStringDrawingUsesLineFragmentOriginattributes:tmpDiccontext:nil];

34.约束也是对象,可以通过修改约束的偏移值改变其位置
self.bottomConst.constant= rect.size.height;

35.重新布局 解决键盘弹出不正常的问题
//表示tabelView重新再布局 此方法会触发layoutSubviews
[self.tbViewlayoutIfNeeded];
自动布局子视图 填充数据(给子视图赋值) 修改父视图的frame时会自动调用 用于子视图的自动修改 
创建子视图的方法放在初始化方法里 确保只创建一次
layoutSubviews 里只放配置信息 防止重复创建
[selflayoutIfNeeded];//要判断是否有标记
[selfsetNeedsLayout];//标记要lagyoutSubviews
- (void)layoutSubviews 
36.离屏绘制(Offscreen drawing):GPU一边在当前屏幕上进行绘制,而另一边在屏幕还没有处理图像信息之前通过CPU来生成图像信息的处理过程
当有涉及到动画的时候离屏绘制就会影响到性能

37.在弹出的AlertView中显示一个输入框
[alertC addTextFieldWithConfigurationHandler:nil];
NSInteger index = [alertC.textFields[0].textintegerValue];



0 0
原创粉丝点击