UIView的属性。
1,Mode属性
用于定义图像在视图内部的对其方式,以及是否缩放以适应视图。默认值是scale。但是,记住任何让图像缩放的选项都可能增加处理开销,因此最好避开这些选项,并在导入图像之前调整好他们的大小。
2,tag属性
只是与图像试图绑定在一起的一个数值。类似android中的view.setTag和getTag。
3,Interaction复选框
第一个User Interaction Enableed,是否能对此对象进行操作。是否可以和用户进行交互。
第二个Multiple Touch,是否支持多点触摸
4,Alpha值
0.0完全透明,1.0完全不透明。
5,Background
不解释
6,Drawing复选框
Opaque(不透明)默认情况下该项选中。表示通知IOS视图后面的任何内容都不应绘制,并且允许IOS的绘图方法通过一些优化来加速绘图。Opaque和Alpha为1.0的区别在于Alpha适用于将被绘制的图像部分,但是,如果某个图像未能完全填充图像视图等,其下方的对象将仍可见。
Hidden 类似于View的visible。
Clears Graphics Context. 这项基本不需要选中。选中它之后,IOS将使用透明黑色绘制控件覆盖的所有区域,然后才实际绘制控件。考虑性能问题,并且适用情况很少,它默认为关闭。
Clip Subviews 选中情况下,只有在父视图范围内的子视图部分将被绘制出来。默认情况下是未选中的。一般情况下,子视图会在父视图的范围内,如果在范围外,裁剪也是需要耗费资源的,出于性能的考虑,一般是禁用的。
Autoresize Subviews 它告诉IOS可以调整子视图的大小。
7,Stretching拉伸
基本可以忽略这一项,因为只有挡在屏幕上调整矩形视图大小并且需要重新绘制该视图时,才需要拉伸。类似于android的.9.png的作用。例如,希望每条边的10%可以拉伸,x和y就分别为0.1,width和height都设为0.8。默认值为0,0,1.0,1.0.
下面是类似于EditText的输入控件的属性
1,placeHolder 类似于hint文本
2,Border style,边框的类型,默认的那款就不错
3,Clear Button ,清除按钮的出现时机,通常是出现在搜索字段和其他需要频繁改变值的字段中。
4, Clear When Editing Begin 选中时,用户触摸此字段时之前该字段中的任何职都将被删除。
5,TextColor,Font 颜色,字体大小,样式(倾斜,加粗)等
6,Adjust to Fit, 文本的大小是否应随着文本字段尺寸的减小而减小,尽量把所有文字都展示完整。但是也可以设置个Min Size,来确保可读性。
7,键盘的外观和行为
Capitalization 分为Words(每个单词的首字母大写),Sentences(句子),None, All Characters。
Keyboard 键盘类型,纯数字啊等
Return Key, 输入法右下角的那个键。有Search,Go,Next,Done等等
Secure, 是否为密码
关闭键盘
1,点击右下角Done钮的响应,方法就是让输入控件放弃第一响应的控制权,也就是焦点,随之,键盘也就消失了,如:
-(IBAction) textFieldDoneEditing: (id) sender{
[sender resignFirstResponder];
}
触摸背景来关闭键盘。
通过给视图树的根部容器视图(container view)来设置响应事件,
-(IBAction)backgroundTap: (id)sender{
[nameField resignFirstResponder];
[numberField resignFirstResponder];
}
UISlider 进度条,最大值,最小值,初始值,拖动响应。
下面的是SliderChanged方法:
-(IBAction) sliderChanged:(id)sender{
UISlider *slider = (UISlider * ) sender;
int progressAsInt = (int) roundf(slider.value);
}
UISwitch switch开关
-(IBAction)switchChanged:(id)sender{
UISwitch *whichSwitch = (UISwitch *) sender;
BOOL setting = whichSwitch.isOn;
[whichSwitch setOn: setting animated:YES];
}
操作表,底部弹出的多选的一个对话框
创建和显示
UIActionSheet * actionSheet = [[UIActionSheet alloc]
initWithTitle: @"Are you sure?"
delegate:self
cacelButtonTitle: @"No way!"
destructiveButtonTitle:@"Yes, I'm sure"
otherButtonTitles: nil];//初始化
[actionSheet showInView: self.view];//显示操作
}
要注意的有,otherButtonTitles,这个可以有多个的,可以传递任意数量。
点击这些button的回调方法,也就是所谓的委托如下:
-(void) actionSheet:(UIActionSheet *) actionSheet
didDismissWithButtonIndex: (NSInteger) buttonIndex
{
if(buttonIndex != [actionSheet cancelButtonIndex]){
//xxxx
}
}
下面是警报UIAlertView,使用方式和UIActionSheet类似的
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle: @"Something was done"
message: msg
delegate: nil
cancelButtonTitle: @"Phew!"
otherButtonTitles: nil];
[alert show];
与操作表不同的是,警报视图并没有与特定的视图绑定在一起,所以我们只需要显示该警报,而不必指定父视图。之后只需要做一些内存清理工作就完成了。
viewDidLoad方法
对view的进一步的完善或者修改,例子中是进行背景的设置。