您的位置:首页 > 其它

常用控件种类和使用方法

2015-04-06 22:47 423 查看
一:UILabel

UILabel显示多行。

1. self.mylabel=[[UILabel alloc]initWithFrame:CGRectMake(20, 5, 200, 40)];

2. self.mylabel.backgroundColor=[UIColor redColor];

3. self.mylabel.text=@"你好,这是label测试.现在在测试换行";

4. self.mylabel.numberOfLines=0;//以下2句就是实现换行的,不过要frame高度足够大。

5. self.mylabel.lineBreakMode=UILineBreakModeWordWrap;//

6. [self.view addSubview:self.mylabel];

备注:该label设置的frame高度足够显示2行,像这里40 可以了,如果是高度20的话,还是只会显示一行文字。

二:UITextView

UITextView 主要是为了显示多行的。

UITextView主要是知道如何设置它不能被编辑。

如果是使用IB,则只需要将它的Behavior Editable 勾选框去掉即可。

如果是纯代码,则

1. UITextView *txt=[[UITextView alloc]initWithFrame:CGRectMake(20, 100, 100, 50)];

2. txt.text=@"sd";

3. txt.editable=NO;//不可编辑

4. [self.view addSubview:txt];

三:UIButton的使用

UIButton经常使用到,它可以是个按钮点击,也可以由图片填充。

1. UIButton *backbtn = [UIButton buttonWithType:UIButtonTypeRoundedRect];

2. backbtn.frame=CGRectMake(30,50,70,40);

3. [backbtn setTitle:@"按钮" forState:UIControlStateNormal];

4. //[backbtn setImage:[UIImage imageNamed:@"icon_top_enable.png"] forState:UIControlStateNormal];//这个是图片填充按钮,如果是图片,则button必须是UIButtonTypeCustom 。当然也可以不用图片

5. [backbtn addTarget:self action:@selector(onclick) forControlEvents:UIControlEventTouchUpInside];

6. //添加button点击事件 on click

7. [self.view addSubview:backbtn];

同时也要为onclick事件做一些处理

1. -(void)onclick{

2. NSLog(@"你点击了按钮");

3. }

四、UITextField

常用属性:

Text:要显示的文本。

Placeholder:指定将要在文本字段中以灰色显示的占位符文本。

Clear When Editing Begins:用户触摸此字段时是否删除字段中的值。就是text框最右边有一个小叉清空按钮

Text Input Traits:文本输入特征。

五、UIImageView

常用属性:

image:指定图像文件

Mode:图像在视图内部的对齐方式以及是否缩放图像以适应视图。选择任何图像缩放的选项都会潜在地增加处理开销,因此最好避开这些选项,并在导入图像之前调整好图像大小。通常Mode属性为Center。

Alpha:图像透明度。一般设置为1.0

Background:该属性继承自UIView,但它不会影响图像视图的外观,请忽略此属性。

Drawing复选框:选中Opaque表示视图后面的任何内容都不应该绘制,并且允许iPhone都绘图方法通过一些优化来加速绘图。

Clear Context Before Drawing:选中它之后,iPhone将使用透明黑色绘制控件覆盖都所有区域,然后才实际绘制控件。考虑到性能问题,并且适用情况很少,通常很少需要选中ClearContext Before Drawing。

Interaction复选框:

User Interaction Enabled:指定用户能否对此对象进行操作。

Multiple Touch:是否能够接收多点触摸事件。

六:UISlider(滑块)

常用属性:Value Changed

示例:

// 将silder的值反映到sliderLabel

- (IBAction) sliderValueChanged: (id)sender

{

    UISlider *slider = (UISlider *)sender;

    int progressAsInt = (int)(slider.value + 0.5f);

    NSString *newText = [[NSStringalloc] initWithFormat:@"%d", progressAsInt];

    sliderLabel.text = newText;

    [newText release];

}

七:UISwitch(开关)

代码// 属性on:获取开关的状态是否为on

// 方法setOn:设置开关的状态

- (IBAction) switchChanged: (id)sender

{

UISwitch *whichSwitch = (UISwitch *)sender;

BOOL setting = whichSwitch.on;

[leftSwitch setOn:setting animated:YES];

[rightSwitch setOn:setting animated:YES];

}

八、UISegmentedControl

#define kSegmentIndex_Switches 0

#define kSegmentIndex_Button 1

- (IBAction) segmentChanged: (id)sender

{

switch ([sender selectedSegmentIndex])

{

case kSegmentIndex_Switches:

leftSwitch.hidden = NO;

rightSwitch.hidden = NO;

doSomethingButton.hidden = YES;

break;

case kSegmentIndex_Button:

leftSwitch.hidden = YES;

rightSwitch.hidden = YES;

doSomethingButton.hidden = NO;

break;

}

}

九、UIActionSheet(操作表)和UIAlertView(警报)

UIActionSheet用于迫使用户在两个或更多选项之间进行选择都模式视图。操作表从屏幕底部弹出,显示一系列按钮供用户选择,用户只有单击了一个按钮后才能继续使用使用应用程序。

UIAlertView(警报)以蓝色圆角矩形都形式出现在屏幕的中部,警报可显示一个或多个按钮。

为了让控制器类充当操作表的委托,控制器类需要遵从UIActionSheetDelegate协议。我们通过在类声明都超类之后都尖括号中添加协议名称来实现。

@interface UntitledViewController : UIViewController

<UIActionSheetDelegate>

{

// ....

}

// 创建操作表:

- (IBAction) buttonPressed: (id)sender

{

UIActionSheet *actionSheet = [[UIActionSheet alloc]

initWithTitle:@"Are you sure?"

delegate:self

cancelButtonTitle:@"Cancel"

destructiveButtonTitle:@"Yes,I'm sure."

otherButtonTitles:nil];

[actionSheet showInView:self.view];

[actionSheet release];

}

// 实现方法:

#pragma mark ActionSheet Delegate Methods

- (void) actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex

{

if (buttonIndex != [actionSheet cancelButtonIndex])

{

NSString *text = [[NSString alloc] initWithFormat:@"test alert"];

UIAlertView *alert = [[UIAlertView alloc]

initWithTitle:@"Something was done."

message:text

delegate:self

cancelButtonTitle:@"OK!"

otherButtonTitles:nil];

[alert show];

[alert release];

[text release];

}

}

//- (void) actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex

//{

// NSLog(@"%d",buttonIndex);

//}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: