IOS UI 2013-8-9学习笔录

简介:

1.设置控件属性:

按住鼠标右键,然后拖放到controller.h,如果设置成

@property (retainnonatomicIBOutlet UILabel *label;

@property (retainnonatomicIBOutlet UIButton *leftButton;

就是该ViewController的属性,可以在.m文件中使用self.label获取到该控件;

例如:

[self.leftButtonsetTitle:@"LOVE"forState:UIControlStateHighlighted];

就是点击按住按钮不放,然后按钮中文本会编程LOVE,但松手之后还会复原。

2.设置控件方法

按住鼠标右键,然后拖放到controller.h,如果选择IBAction的话就设置的是方法属性

- (IBAction)leftClick:(id)sender;

- (IBAction)rightClick:(id)sender;

可以在.m文件中在自动生成的点击方法里面添加逻辑代码:

例如:

- (IBAction)rightClick:(id)sender {

    self.label.text =@"right";

}

3.处理两个按钮同时拥有同一个事件,怎么区分?

如果两个按钮同时指向拥有一个同一个click方法,但我们要知道是哪个按钮点击了该方法,那我们就要通过方法的click:(id)sender这个参数来识别是哪个按钮触发了该事件,最好是给每一个按钮设置一个tag来唯一标识每个按钮,然后在.m文件中通过宏定义来设置这些tag

例如:

#define LEFT_BUTTON_Tag 1 #define RIGHT_BUTTON_Tag 2 -(IBAction)click:(id)sender { 	UIButton *button = (UIButton *)sender; 	if(button.tag == LEFT_Button_Tag) 	{ 		self.Label.text = @"Left click"; 	} }

常用函数:

-(void)removeFromSuperview;

-(void)insertSubview:(UIView *)view atIndex:(NSInteger)index;

-(void)exchangeSubviewAtIndex:(NSInterger)index1 withSubviewAtIndex:(NSInteger)index2;

-(void)addSubview:(UIView *)view;

-(UIView *)viewWithTag:(NSInteger)tag;


4.通过代码重新设置Lable大小:

CGRect frame = CGRectMake(100,100,200,100);

//测试之前先将Use Autolayout的功能不选,让我们自己来对label大小适合文字布局

//求字体大小

//在原来的基础上添加

self.label.text = str;

//求字体的长度大小,隐藏在CGSize的分类方法中

CGSize size = [str sizeWithFont:self.label.font];

//自定义长方形大小

CGRect frame = CGRectMake(self.label.frame.origin.x,self.label.frame.origin.y,size.width,self.label.frame.size.height);

//通过自己设置的frame大小来改变当前label长度的大小

self.lable.frame = frame;


额外方法:

CGSize labelSize = [s sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap];

意思就是:把字符串s当成font字体时候,在区间size内使用这行的情况下那么s应该有的大小,也就是s在最大size范围内的宽和高


将一个view添加到另外一个view中

[self.view addSubview:label2];//添加了之后计数器加1,要释放

[label2 release];

















本文转蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366441,如需转载请自行联系原作者

相关文章
|
2月前
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
SAP UI5 Link 控件的使用方法介绍 - 后续学习 Fiori Elements Smart Link 的基础试读版
16 0
|
3月前
|
JSON 监控 数据格式
Easy UI datagrid的学习
Easy UI datagrid的学习
|
9月前
|
XML Java 数据格式
HarmonyOS学习路之开发篇—Java UI框架(PositionLayout&&AdaptiveBoxLayout)
PositionLayout 在PositionLayout中,子组件通过指定准确的x/y坐标值在屏幕上显示。(0, 0)为左上角;当向下或向右移动时,坐标值变大;允许组件之间互相重叠。 PositionLayout示意图
|
9月前
|
XML Java 数据格式
HarmonyOS学习路之开发篇—Java UI框架(TableLayout)
TableLayout TableLayout使用表格的方式划分子组件。
|
5月前
|
JavaScript
【Vue学习】—Vue UI组件库(二十八)
【Vue学习】—Vue UI组件库(二十八)
|
6月前
|
安全 前端开发 Android开发
鸿蒙开发|鸿蒙系统的介绍(为什么要学习鸿蒙开发|鸿蒙系统的官方定义|鸿蒙和安卓、ios的对比)
鸿蒙开发学习是一项探索性的工作,旨在开发一个全场景分布式操作系统,覆盖所有设备,让消费者能够更方便、更直观地使用各种设备。
301 6
鸿蒙开发|鸿蒙系统的介绍(为什么要学习鸿蒙开发|鸿蒙系统的官方定义|鸿蒙和安卓、ios的对比)
|
6月前
|
XML 数据安全/隐私保护 数据格式
Morn UI 学习总结
Morn UI 学习总结
47 0
|
7月前
|
Web App开发 开发者
关于 SAP UI5 学习教程示例代码里 Chrome 开发者工具 Console 面板里一些错误消息的说明试读版
关于 SAP UI5 学习教程示例代码里 Chrome 开发者工具 Console 面板里一些错误消息的说明试读版
38 0
|
7月前
|
XML 开发框架 数据格式
SAP UI5 应用开发教程之五十七 - 基于 OData 注解的 Smart Field 使用方法学习试读版
SAP UI5 应用开发教程之五十七 - 基于 OData 注解的 Smart Field 使用方法学习试读版
47 0
SAP UI5 应用开发教程之五十七 - 基于 OData 注解的 Smart Field 使用方法学习试读版
|
8月前
|
存储 JavaScript API
通过 SAP UI5 的 TypeScript 开发环境,来学习什么是 DefinitelyTyped
通过 SAP UI5 的 TypeScript 开发环境,来学习什么是 DefinitelyTyped
57 0