您的位置:首页 > 产品设计 > UI/UE

IOS代码实现常用控件UIButton、UISlider、UISwitch、UISegmentedControl

2014-10-29 19:29 741 查看


IOS中最常用到的控件UIButton、UISlider、UISwitch、UISegmentedControl通过Xib文件拖动生成非常简单,其实用代码实现也是一样的简单,当然,用代码实现能够掌握到更多的东西。

上图中包涵提到的4种控件,UIButton按钮、UISlider滑块、UISwitch开关、UISegmentedControl分类

首先创建一个名为CodeControls的Empty Application项目



AppDelegate.h和AppDelegate.m文件中和IOS代码实现Hello World中的一样

MainViewController.h

[cpp] view
plaincopy

<span style="font-size:10px;">#import <UIKit/UIKit.h>  

  

@interface MainViewController : UIViewController  

  

@property (strong, nonatomic) UIButton *myBtn;  

@property (strong, nonatomic) UISlider *mySlider;  

@property (strong, nonatomic) UISwitch *mySwitch;  

@property (strong, nonatomic) UISegmentedControl *mySc;  

  

@end</span>  

MainViewController.m

[cpp] view
plaincopy

<span style="font-size:10px;">#import "MainViewController.h"  

  

@interface MainViewController ()  

  

@end  

  

@implementation MainViewController  

@synthesize myBtn,mySlider,mySwitch,mySc;  

  

- (void)viewDidLoad  

{  

    // 加载UIView  

    UIView *mainView = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];  

    mainView.backgroundColor = [UIColor whiteColor];  

    self.view = mainView;  

    [mainView release];  

      

    // 创建一个Button按钮  

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];  

    btn.frame = CGRectMake(100, 30, 57, 57);  

    [btn setTitle:@"Button" forState:UIControlStateNormal];  

    [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];  

    [btn setBackgroundImage:[UIImage imageNamed:@"icon.png"] forState:UIControlStateNormal];  

    [btn addTarget:self action:@selector(onClick:) forControlEvents:UIControlEventTouchUpInside];  

    myBtn = btn;  

    [self.view addSubview:myBtn];  

      

      

    // 创建一个Slider划块按钮  

    UISlider *slider = [[[UISlider alloc] initWithFrame:CGRectMake(50, 180, 200, 10)] autorelease];  

    slider.minimumValue = 0.0f;  

    slider.maximumValue = 100.0f;  

    slider.value = 50.0f;  

    [slider addTarget:self action:@selector(onChange:) forControlEvents:UIControlEventTouchUpInside];  

    mySlider = slider;  

    [self.view addSubview:mySlider];  

      

    // 创建一个UISwitch开关按钮  

    UISwitch *sbtn = [[[UISwitch alloc] initWithFrame:CGRectMake(50, 210, 200, 50)] autorelease];  

    [sbtn addTarget:self action:@selector(onSwitch:) forControlEvents:UIControlEventTouchUpInside];  

    mySwitch = sbtn;  

    [self.view addSubview:mySwitch];  

      

    // 创建一个UISegmentedControl  

    NSArray *btnList = [NSArray arrayWithObjects:@"left",@"center",@"right", nil];  

    UISegmentedControl *sc = [[[UISegmentedControl alloc] initWithItems:btnList] autorelease];  

    sc.frame = CGRectMake(50, 250, 200, 60);  

    [sc addTarget:self action:@selector(onSelect:) forControlEvents:UIControlEventTouchUpInside];  

    mySc = sc;  

    [self.view addSubview:mySc];  

      

    [super viewDidLoad];  

}  

  

// 点击Button触发  

- (void)onClick:(id *)sender  

{  

  

}  

  

// 拉动Slider划块触发  

- (void)onChange:(id *)sender  

{  

      

}  

  

// 选择Switch触发  

- (void)onSwitch:(id *)sender  

{  

      

}  

  

// 选择UISegmentedControl触发  

- (void)onSelect:(id *)sender  

{  

}  

</span>  

这里没有写点击每个控件的具体实现方法。

UICnotrol Class 下的所有Touch事件

[cpp] view
plaincopy

UIControlEventTouchDown             

UIControlEventTouchDownRepeat       

UIControlEventTouchDragInside       

UIControlEventTouchDragOutside      

UIControlEventTouchDragEnter        

UIControlEventTouchDragExit         

UIControlEventTouchUpInside         

UIControlEventTouchUpOutside        

UIControlEventTouchCancel           

UIControlEventValueChanged          

UIControlEventEditingDidBegin       

UIControlEventEditingChanged        

UIControlEventEditingDidEnd         

UIControlEventEditingDidEndOnExit   

UIControlEventAllTouchEvents        

UIControlEventAllEditingEvents      

UIControlEventApplicationReserved   

UIControlEventSystemReserved        

UIControlEventAllEvents  

UIButton Class下的所有按钮样式

[cpp] view
plaincopy

UIButtonTypeCustom  

UIButtonTypeRoundedRect  

UIButtonTypeDetailDisclosure  

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