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

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

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

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


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


MainViewController.h

#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

MainViewController.m

#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
{
}

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

UICnotrol Class 下的所有Touch事件

UIControlEventTouchDown           
UIControlEventTouchDownRepeat     
UIControlEventTouchDragInside     
UIControlEventTouchDragOutside    
UIControlEventTouchDragEnter      
UIControlEventTouchDragExit       
UIControlEventTouchUpInside       
UIControlEventTouchUpOutside      
UIControlEventTouchCancel         
UIControlEventValueChanged        
UIControlEventEditingDidBegin     
UIControlEventEditingChanged      
UIControlEventEditingDidEnd       
UIControlEventEditingDidEndOnExit 
UIControlEventAllTouchEvents      
UIControlEventAllEditingEvents    
UIControlEventApplicationReserved 
UIControlEventSystemReserved      
UIControlEventAllEvents


UIButton Class下的所有按钮样式

UIButtonTypeCustom
UIButtonTypeRoundedRect
UIButtonTypeDetailDisclosure
UIButtonTypeInfoLight
UIButtonTypeInfoDark
UIButtonTypeContactAdd


DEMO下载

http://pan.baidu.com/share/link?shareid=73529&uk=101519637

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值