IOS中用户界面及一些基本按钮相关代码实例

iOS用户界面与基本按钮实现
本文详细介绍了在iOS环境中创建应用用户界面及基本按钮的相关代码实现,包括窗口管理、视图控制器配置、按钮响应方法等核心内容。


关于IOS中用户界面及一些基本按钮相关代码实例,运行后,效果如下:


1、在AppDelegate.h文件中的相关代码:

#import <UIKit/UIKit.h>


@class ViewController;


@interface AppDelegate :UIResponder <UIApplicationDelegate>


@property (strong,nonatomic) UIWindow *window;


@property (strong,nonatomic) ViewController *viewController;


@end


2、在AppDelegate.m文件中的相关代码:

#import "AppDelegate.h"


#import "ViewController.h"


@implementation AppDelegate


- (void)dealloc

{

    [_window release];

    [_viewControllerrelease];

    [super dealloc];

}


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

    self.window = [[[UIWindowalloc] initWithFrame:[[UIScreenmainScreen] bounds]]autorelease];

    self.viewController = [[[ViewControlleralloc] initWithNibName:@"ViewController"bundle:nil]autorelease];

    self.window.rootViewController =self.viewController;

    [self.windowmakeKeyAndVisible];

    return YES;

}


- (void)applicationWillResignActive:(UIApplication *)application

{


}


- (void)applicationDidEnterBackground:(UIApplication *)application

{

  

}


- (void)applicationWillEnterForeground:(UIApplication *)application

{

    

}


- (void)applicationDidBecomeActive:(UIApplication *)application

{

    

}


- (void)applicationWillTerminate:(UIApplication *)application

{

    

}

@end


3、在ViewController.h文件中的相关代码:

#import <UIKit/UIKit.h>


@interface ViewController :UIViewController<UITextFieldDelegate,UIScrollViewDelegate>

{

    NSTimer *pTimer;

}

//显示背景图



@property (retain,nonatomic) UIImageView *pImageView;


@property (retain,nonatomic) UILabel *pShowValueLabel;


@property (retain,nonatomic) UIProgressView *pProgress;


@property (retain,nonatomic) UILabel *pProgressValueLabel;


@property (assign,nonatomic) float progressValue;


@property (retain,nonatomic) UIActivityIndicatorView

            *pActivity;

// 添加背景图

- (void)addImageView:(id)sender;


//添加标签

- (void)addLabel:(id)sender;


- (void)addTextField;


//控制控件

- (void)addButton;

- (void)addCheckboxButton;


- (void)addSlider;

- (void)addSegmentControl;

- (void)addSwitch;


//其它控件


- (void)addActivityIndicatorView;

- (void)addProgress;



@end


4、在ViewController.m文件中的相关代码:

#import "ViewController.h"


@interface ViewController ()


@end


@implementation ViewController


- (void)viewDidLoad

{

    [superviewDidLoad];

    //调用添加ImageView的方法

    [selfaddImageView:nil];

    [selfaddImageView:nil];

    [selfaddLabel:nil];

    [selfaddTextField];

    

    [selfaddButton];

    [selfaddCheckboxButton];

    [selfaddSwitch];

    [selfaddSlider];

    [selfaddSegmentControl];

    [selfaddProgress];

    [selfaddActivityIndicatorView];

    

// Do any additional setup after loading the view, typically from a nib.

}


- (void)didReceiveMemoryWarning

{

    [superdidReceiveMemoryWarning];



}


#pragma mark ------addImageView-------


- (void)addImageView:(id)sender

{

    //创建一个临时ImageView

   UIImageView *pTempImageView = [[UIImageViewalloc]

        initWithImage:[UIImageimageNamed:@"psbe.png"]];

   self.pImageView = pTempImageView;

    [self.viewaddSubview:self.pImageView];

    [pTempImageViewrelease];


}


#pragma mark ------addShowLabel------


- (void)addLabel:(id)sender

{

    //创建一个label

   UILabel *pLabel = [[UILabelalloc]initWithFrame:CGRectMake(10,10, 120, 50)];

   //内容

    pLabel.text =@"HelloWorld\nSecondLinr";

    //设置字体和大小

    pLabel.font = [UIFontfontWithName:@"Verdana"size:18];

    //字体对齐方式

    pLabel.textAlignment =NSTextAlignmentCenter;

    //字体颜色

    pLabel.textColor = [UIColorredColor];

    //显示行数

    pLabel.numberOfLines =2;

    //阴影颜色

    pLabel.shadowColor = [UIColorblackColor];

    //阴影尺寸

    pLabel.shadowOffset =CGSizeMake(2.0,1.0);

    //设置label的背景色为透明色

    pLabel.backgroundColor = [UIColorclearColor];

    [self.viewaddSubview:pLabel];

    [pLabelrelease];


}


- (void)addTextField

{

    //创建TextField

   UITextField *pTextField = [[UITextFieldalloc]initWithFrame:CGRectMake(10,116, 200, 31)];

    //设置边框样式

    pTextField.borderStyle =UITextBorderStyleRoundedRect;

    //设置字体

    pTextField.font = [UIFontsystemFontOfSize:18.0];

    //根据宽度改变字体

    pTextField.adjustsFontSizeToFitWidth =YES;

    //最小字体

    pTextField.m umFontSize =2.0;

    //清除按钮的样式

    pTextField.clearButtonMode =UITextFieldViewModeWhileEditing;

    //弹出的健盘的式样

    pTextField.keyboardType =UIKeyboardTypeDefault;

    //设置使用自动更正功能

    pTextField.autocorrectionType =UITextAutocorrectionTypeNo;

    //设置健盘自动大小写的属性

    pTextField.autocapitalizationType =UITextAutocapitalizationTypeNone;

    //设置返回按钮类型

    pTextField.returnKeyType =UIReturnKeyDone;

    //设置是否支持密码文本显示

    pTextField.secureTextEntry =YES;

    //设置委托

    pTextField.delegate =self;

    [self.viewaddSubview:pTextField];

    [pTextFieldrelease];



}


//控制控件

- (void)addButton

{

    //创建一个按钮

    UIButton *pBtn = [UIButtonbuttonWithType:UIButtonTypeRoundedRect];

    //设置区域

    [pBtnsetFrame:CGRectMake(10,70, 100, 40)];

    [pBtn setTitle:@"Normal"forState:UIControlStateNormal];

    [pBtn setTitle:@"HighLight"forState:UIControlStateHighlighted];

    

    //允许显示高亮

    pBtn.showsTouchWhenHighlighted =YES;

    [pBtn addTarget:selfaction:@selector(buttonDown:)forControlEvents:UIControlEventTouchDown];

    [pBtn addTarget:selfaction:@selector(buttonRelease:)forControlEvents:UIControlEventTouchUpInside];

    [self.viewaddSubview:pBtn];

}


#pragma mark-----------Button SEL-------

//按钮的响应方法

- (void)buttonDown:(id)sender

{

    NSLog(@"Button pushed down");


}


- (void)buttonRelease:(id)sender

{

    NSLog(@"Button released");


}

//选中框

- (void)addCheckboxButton

{

    //创建一个自定义按钮

    UIButton *pCheckboxButton = [UIButtonbuttonWithType:UIButtonTypeCustom];

    //设置区域

CGRect checkboxRect =CGRectMake(10,155,36,36);

[pCheckboxButtonsetFrame:checkboxRect];

//分别为两种不同状态设置对应图片

[pCheckboxButtonsetImage:[UIImageimageNamed:@"checkbox_off.png"]forState:UIControlStateNormal];

[pCheckboxButtonsetImage:[UIImageimageNamed:@"checkbox_on.png"]forState:UIControlStateSelected];

//添加关联动作

[pCheckboxButtonaddTarget:selfaction:@selector(checkboxClick:)forControlEvents:UIControlEventTouchUpInside];

    [self.viewaddSubview:pCheckboxButton];

}

#pragma mark-----------checkBtn SEL-------------

- (void)checkboxClick:(UIButton *)btn

{

    btn.selected = !btn.selected;

}


- (void)addSlider

{   //创建UISlider对象

   UISlider *pSlider = [[UISlideralloc]initWithFrame:CGRectMake(10,195, 300, 20)];

    //设置最小值

    pSlider.minimumValue =0;

    //最大值

    pSlider.maximumValue =100;

    //是否可以持续滑动

    pSlider.continuous =YES;

    //设置初始值

    pSlider.value =50;

    //透明度

   self.pImageView.alpha = pSlider.value/100;

    //最小值处的图片

    pSlider.minimumValueImage = [UIImageimageNamed:@"apple_min"];

    //最大值处的图片

    pSlider.maximumValueImage = [UIImageimageNamed:@"apple_max.png"];

    //设置当前的图片

    [pSlider setThumbImage:[UIImageimageNamed:@"apple_thumb.png"]forState:UIControlStateNormal];

    //添加对应动作,注意:CotrolEventsvalueChanged

    [pSlider addTarget:selfaction:@selector(sliderValueChange:)forControlEvents:UIControlEventValueChanged];

    [self.viewaddSubview:pSlider];

    //创建显示当前值的label

    self.pShowValueLabel = [[UILabelalloc]initWithFrame:CGRectMake(180,150, 86, 25)];

    //设置背景色

    self.pShowValueLabel.backgroundColor = [UIColorlightGrayColor];

    //设置当前文本内容

   self.pShowValueLabel.text = [NSStringstringWithFormat:@"亮度:%%%d",(int)pSlider.value];

    [self.viewaddSubview:self.pShowValueLabel];

}

#pragma mark-----------Slider SEL-----------------

- (void)sliderValueChange:(UISlider *)slider

{

    //显示当前亮度

   self.pShowValueLabel.text = [NSStringstringWithFormat:@"亮度:%%%d",(int)slider.value];

    //透明度

   self.pImageView.alpha = slider.value/100;

}

//添加开关

- (void)addSwitch

{

   UISwitch *pSwitch = [[UISwitchalloc]initWithFrame:CGRectMake(220,10, 10, 50)];

    //pSwitch.backgroundColor = [UIColor redColor];

    //给开关添加关联动作

    [pSwitch addTarget:selfaction:@selector(switchMethod:)forControlEvents:UIControlEventValueChanged];

    [self.viewaddSubview:pSwitch];

}

#pragma mark--------------Switch SEL------------------

- (void)switchMethod:(id)sender

{

    //找到开关

   UISwitch *pSwitch = (UISwitch *)sender;

    if (pSwitch.isOn)//根据开关的状态设置背景图hidden

    {

        [self.pImageViewsetHidden:NO];

    }

   else

    {

        [self.pImageViewsetHidden:YES];

    }

}

- (void)addSegmentControl

{   //创建数组

   NSArray *pArr = [NSArrayarrayWithObjects:@"1",@"2",nil];

    //根据数组对象初始化SegmentControl对象

    UISegmentedControl *pSegment = [[UISegmentedControlalloc]initWithItems:pArr];

    [pSegmentsetFrame:CGRectMake(10,240, 300, 40)];

    //设置该分段控件的Style

    [pSegment setSegmentedControlStyle:UISegmentedControlStyleBordered];

    //设置分段控件选择的段数

    [pSegment setSelectedSegmentIndex:0];

    //添加关联动作

    [pSegment addTarget:selfaction:@selector(segmentMethod:)forControlEvents:UIControlEventValueChanged];

    [self.viewaddSubview:pSegment];

}

#pragma mark-----------------Segment SEL--------------------

- (void)segmentMethod:(UISegmentedControl *)segment

{

   NSString *pMessage = [NSStringstringWithFormat:@"你选择了第%d,该段宽度已调整",segment.selectedSegmentIndex];

   for (int i =0; i < [segment numberOfSegments]; i++)

    {   //根据你选择的分段的Index进行响应的操作

       if (i == [segment selectedSegmentIndex])

        {

            [segmentsetWidth:180forSegmentAtIndex:i];

        }

       else

        {

            [segmentsetWidth:120forSegmentAtIndex:i];

        }

    }

    //警告框

    UIAlertView *pAlert = [[UIAlertViewalloc]initWithTitle:@"通知"message:pMessage delegate:nilcancelButtonTitle:@"确认"otherButtonTitles: nil];

    [pAlertshow];

    [pAlertrelease];

    

}


//其他控件

- (void)addActivityIndicatorView

{

    //创建初始化ActivityIndicatorView(Style)

    self.pActivity = [[UIActivityIndicatorViewalloc]initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

    [self.pActivitysetFrame:CGRectMake(10,280, 45, 45)];

    //设置是否隐藏

   self.pActivity.hidden =NO;

    [self.viewaddSubview:self.pActivity];

    //创建按钮,关联对应方法

    UIButton *pBtn = [UIButtonbuttonWithType:UIButtonTypeRoundedRect];

    [pBtnsetFrame:CGRectMake(10,330, 45,30 )];

    [pBtn setTitle:@""forState:UIControlStateNormal];

    [pBtn addTarget:selfaction:@selector(doRotate:)forControlEvents:UIControlEventTouchUpInside];

    pBtn.tag =110;

    [self.viewaddSubview:pBtn];

}

- (void)doRotate:(id)sender

{

   UIButton *pBtn = (UIButton *)sender;

    [self.pActivityisAnimating]?[self.pActivitystopAnimating]:[self.pActivitystartAnimating];

    //根据Activity是否运行来设置按钮的title

    [pBtn setTitle:(self.pActivity.isAnimating?@"":@"")forState:UIControlStateNormal];

   self.pActivity.hidden =NO;

}

- (void)addProgress

{   //创建进度条并初始化

    self.pProgress = [[UIProgressViewalloc]initWithFrame:CGRectMake(10,360, 300, 30)];

    //设置Style

    self.pProgress.progressViewStyle = UIProgressViewStyleBar;

    //分别设置进度条完成未完成的颜色

    self.pProgress.trackTintColor = [UIColorredColor];

    self.pProgress.progressTintColor = [UIColorgreenColor];

    [self.viewaddSubview:self.pProgress];

    //创建用来显示进度的label

    self.pProgressValueLabel = [[UILabelalloc]initWithFrame:CGRectMake(100,370, 110, 30)];

    self.pProgressValueLabel.backgroundColor = [UIColorclearColor];

    self.pProgressValueLabel.text = [NSStringstringWithFormat:@"加载:%%%.1f",self.progressValue*100];

    [self.viewaddSubview:self.pProgressValueLabel];

    //通过计时器完成循环调用

    pTimer = [NSTimerscheduledTimerWithTimeInterval:1target:selfselector:@selector(progressMethod:)userInfo:nilrepeats:YES];

}

#pragma mark--------------NSTimer SEL----------------------

- (void)progressMethod:(id)sender

{

    self.progressValue +=0.1;

    self.pProgress.progress =self.progressValue;

    self.pProgressValueLabel.text = [NSStringstringWithFormat:@"加载:%%%.1f",self.progressValue*100];

    

    //[self.pActivity startAnimating];

    if (self.progressValue >=1)

    {

       self.progressValue =0;

        self.pProgressValueLabel.text =@"加载完成";

        //[self.pActivity stopAnimating];

        //self.pActivity.hidden = NO;

       //停止计时器

        [pTimerinvalidate];

    }

    

}


#pragma mark-----UITextFieldDelegate------

//弹回键盘方法

- (BOOL)textFieldShouldReturn:(UITextField *)textField

{

    //放当前的textField放弃第一响应者

    [textField resignFirstResponder];

    return YES;

}

//限制输入字符串长度

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

{

   int MAX_LENGTH = 10;

   NSMutableString *pNewString = [NSMutableStringstringWithString:textField.text];

    //完成range内字符串的替换

    [pNewString replaceCharactersInRange:rangewithString:string];

    //根据两个的长度判断,返回YES or NO.

   return ([pNewString length] <= MAX_LENGTH);

}


- (void)dealloc

{

    [_pActivity release];

    [_pShowValueLabelrelease];

    [superdealloc];

}



@end




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值