#import "AppDelegate.h"數組
@interface AppDelegate () <UIActionSheetDelegate,UIAlertViewDelegate,app
UITextViewDelegate>{ide
UILabel *_showLabel;動畫
}spa
@end .net
@implementation AppDelegate3d
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {代理
// Override point for customization after application launch.orm
_window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];對象
[_window setBackgroundColor:[UIColor whiteColor]];
_showLabel = [[UILabel alloc]initWithFrame:
CGRectMake(100, 200, 100, 40)];
[_window addSubview:_showLabel];
//======================================================
//1.UISwitch
[self createSwitch];
//2.滑塊
[self createSlider];
//3.進度條
[self CreateProgressView];
//4.步數器
[self createStepper];
//5.活動指示框
[self createActivity];
//6.多段選擇器
[self createSegmentControl];
//7.表單視圖
// [self createActionSheet];
//8.警告框
//[self createAlertView];
//9.文本輸入框
[self createUITextView];
[_window makeKeyAndVisible];
return YES;
}
#pragma mark -建立文本輸入視圖
- (void)createUITextView{
//UITextView繼承自UIScrollView
//UITextView和UITextField的功能基本一致
//UITextField的屬性和方法和UITextView都有相似的屬性和方法
//區別1:UITextField只能一行顯示文字,UITextView能夠多行顯示
//而且能夠滾動,
//區別2:UITextField有佔位文字和密文顯示功能,可是UITextView沒有
//1.建立文本輸入視圖的對象
UITextView *textView = [[UITextView alloc]
initWithFrame:CGRectMake(100, 350, 200, 100)];
//2.顯示在界面上
[_window addSubview:textView];
//3.設置背景顏色
textView.backgroundColor = [UIColor lightGrayColor];
//4.設置文字
textView.text = @"這是一個textView";
//5.設置是否能夠編輯(默認是yes)
//NO就是純展現文字的控件
//textView.editable = YES;
//6.關閉選中文字的功能;
//textView.selectable = NO;
//7.設置鍵盤類型textField也有這個屬性;
[textView setKeyboardType:UIKeyboardTypeTwitter];
//8.設置return按鈕的樣式
[textView setReturnKeyType:UIReturnKeyDefault];
//9.設置代理
textView.delegate = self;
}
#pragma mark -UITextView協議方法
//使用鍵盤輸入文字的時候實時調用這個方法;
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:
(NSRange)range replacementText:(NSString *)text{
NSLog(@"%@",text);
if ([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
}
return YES;
}
//已經開始編輯
- (void)textViewDidBeginEditing:(UITextView *)textView{
NSLog(@"已經開始編輯");
}
//已經結束編輯
- (void)textViewDidEndEditing:(UITextView *)textView{
NSLog(@"已經結束編輯");
}
#pragma mark -建立警告框
- (void)createAlertView{
//1.建立警告對象
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"警告" message:@"沒有聯網,請聯網"
delegate:self cancelButtonTitle:@"取消"
otherButtonTitles:@"肯定", nil];
//2.顯示在界面上
[alert show];
//3.
}
#pragma mark -警告框協議方法
//當警告框上的按鈕被點擊的時候會調用這個方法;
//參數1:委託
//參數2:被點擊的按鈕的下標
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
NSLog(@"%lu",buttonIndex);
if (buttonIndex == 0) {
NSLog(@"點擊了取消鍵");
}else{
NSLog(@"肯定刪除!!");
}
}
#pragma mark -表單視圖協議方法
//當表單上的按鈕被點擊的時候會調用這個方法
//參數1:委託
//參數2:被點擊的按鈕的下標(當前表單上全部的按鈕從上到下一次增長)
- (void)actionSheet:(UIActionSheet *)actionSheet
ckedButtonAtIndex:(NSInteger)buttonIndex{
NSLog(@"%lu",buttonIndex);
//根據不一樣的按鈕點擊作出不同的反應
switch (buttonIndex) {
case 0:{
break;
}
case 1:{
break;
}
case 2:{
break;
}
case 3:{
break;
}
case 4:{
break;
}
default:
break;
}
}
#pragma mark -建立表單視圖
- (void)createActionSheet{
//1.建立一個表單視圖對象
//UIActionSheet : UIView
//參數1:設置標題
//參數2:設置代理
//參數3:最下面那個獨立按鈕的標題(能夠是取消也能夠是保存等操做)
//參數4:最上面那個紅色按鈕的標題(能夠寫爲nil)
//參數5:中間普通按鈕的標題,其餘按鈕標題;
UIActionSheet *actionSheet = [[UIActionSheet alloc]
initWithTitle:@"是否觀看動漫?" delegate:self
cancelButtonTitle:@"保存"
destructiveButtonTitle:@"標題"
otherButtonTitles:@"其餘標題1",@"其餘標題2", nil];
//2.顯示在界面上
//[actionSheet showInView:_window];
}
#pragma mark -建立多段選擇器
- (void)createSegmentControl{
//1.建立多段選擇器對象
//UISegmentedControl:UIControl
//參數:是一個數組(當前分段選擇器中全部分段的標題的數組)
UISegmentedControl *segmentControl = [[UISegmentedControl alloc]
initWithItems:@[@"吸血鬼騎士",
@"犬夜叉",@"純情羅曼史"]];
//2.設置frame
segmentControl.frame = CGRectMake(0, 80, 375, 40);
//3.顯示在界面上
[_window addSubview:segmentControl];
//4.當前選中的分段(核心屬性)
//設置選中分段的下標;
segmentControl.selectedSegmentIndex = 0;
//5.添加事件
[segmentControl addTarget:self action:@selector(segmentOnclicked:)
forControlEvents:UIControlEventValueChanged];
//6.獲取當前分段數
NSLog(@"%lu",segmentControl.numberOfSegments);
//7.插入一個文字分段
[segmentControl insertSegmentWithTitle:@"畫江湖" atIndex:0
animated:YES];
//8.插入一個圖片分段
//imageWithRenderingMode:設置圖片的渲染模式
//圖片不能正常顯示的時候通常就去設置圖片的渲染模式爲
//UIImageRenderingModeAlwaysOriginal
[segmentControl insertSegmentWithImage:
[ [UIImage imageNamed:@"player_up_1"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]
atIndex:1 animated:YES];
//9.移除指定下標的分段(下標不能夠越界);
[segmentControl removeSegmentAtIndex:1 animated:YES];
//10.移除全部的分段
//[segmentControl removeAllSegments];
//11.改變分段的標題
[segmentControl setTitle:@"不良人" forSegmentAtIndex:0];
//12.拿到指定下標分段的文字
NSString *titile = [segmentControl titleForSegmentAtIndex:1];
NSLog(@"%@",titile);
//13.設置填充顏色
[segmentControl setTintColor:[UIColor colorWithRed:100/255.0f
green:179/255.0f blue:50/255.0f alpha:1]];
}
#pragma mark -點擊分段事件
-(void) segmentOnclicked:(UISegmentedControl *)segment{
NSLog(@"%ld",(long)segment.selectedSegmentIndex);
}
#pragma mark -建立活動指示器
- (void)createActivity{
// [_window setBackgroundColor:[UIColor Color]];
//1.建立活動指示器對象
UIActivityIndicatorView *activity = [[UIActivityIndicatorView
alloc]initWithActivityIndicatorStyle:
UIActivityIndicatorViewStyleWhiteLarge];
//設置frame
activity.frame = CGRectMake(100, 300, 100, 100) ;
[_window addSubview:activity];
//2.活動的時候才能夠看到活動指示器
[activity startAnimating];
//3.讓活動指示器中止
[activity stopAnimating];
}
#pragma mark -建立步數器
- (void)createStepper{
//1.建立步數器對象
//UIStepper:UIControl
UIStepper *stepper = [[UIStepper alloc] initWithFrame:
CGRectMake(100, 250, 0, 0)];
//2.顯示在窗口
[_window addSubview:stepper];
//3.步進值(默認是0)
stepper.value = 1;
_showLabel.text = [NSString stringWithFormat:
@"%.2lf",stepper.value];
//4.添加事件
//按stepper的加和減的按鈕,都會自動的改變stepper的value的值
[stepper addTarget:self action:@selector(stepperOnClicked:) forControlEvents:
UIControlEventValueChanged];
//5.步進值(每按一次加或減變化的值,默認是1)
stepper.stepValue = 10;
//6.設置最大值和最小值;
stepper.maximumValue = 10;
stepper.minimumValue = -10;
//7.設置填充顏色
stepper.tintColor = [UIColor redColor];
}
#pragma mark -步數器事件
- (void)stepperOnClicked:(UIStepper *)stepper{
//使用stepper最新的值去更新label的value
_showLabel.text = [NSString stringWithFormat:@"%.2lf",stepper.value];
}
#pragma mark -UIProgressView進度條
- (void)CreateProgressView{
//1.建立進度條對象
//UIProgressViewStyleDefault//顏色是灰色的
//UIProgressViewStyleBar//顏色是白色的
UIProgressView *progressView = [[UIProgressView alloc]initWithProgressViewStyle:
UIProgressViewStyleDefault];
//2.設置frame;(設置高度無效)
progressView.frame = CGRectMake(100, 200, 200, 50);
progressView.tag = 77;
//3.進度(核心屬性)(0-1)
progressView.progress = 0.5;
//4.設置從開始到當前進度位置,進度條的顏色
progressView.progressTintColor = [UIColor cyanColor];
//5.從進度位置到結束,進度條的顏色
progressView.trackTintColor = [UIColor redColor];
//6.設置進度帶動畫效果;
[progressView setProgress:0.2 animated:YES];
[_window addSubview:progressView];
}
#pragma mark -UISlider
- (void)createSlider{
//1.建立一個滑塊對象;
//UISlider:UIControl:UIView;
UISlider *slider = [[UISlider alloc]initWithFrame:
CGRectMake(100, 150, 200, 50)];
//2.顯示在界面上
[_window addSubview:slider];
//3.當前滑塊位置對應的值;(默認的值是0-1)
slider.value = 0.5f;
//4.設置滑塊的最小值和最大值
//最小值默認是0
slider.minimumValue = 1;
//最大值默認是1
slider.maximumValue = 10;
slider.value = 5;
//5.添加事件;
//能添加的事件只有:UIControlEventValueChanged
[slider addTarget:self action:@selector(sliderChange:)
forControlEvents:UIControlEventValueChanged];
//6.設置slider最左邊顯示的圖片(通常不用)
[slider setMinimumValueImage:[UIImage imageNamed:@"player_right_1"]];
//7.把滑塊設置爲圖片滑塊;(經常使用)
[slider setThumbImage:[UIImage imageNamed:@"player_down_1"]
forState:UIControlStateNormal];
[slider setThumbImage:[UIImage imageNamed:@"player_up_1"]
forState:UIControlStateHighlighted];
//8.滑條和滑塊的顏色
//設置最左端到滑塊部分的填充顏色;
[slider setMinimumTrackTintColor:[UIColor yellowColor]];
//滑塊到最右端的填充顏色
[slider setMaximumTrackTintColor:[UIColor cyanColor]];
//滑塊的顏色
[slider setThumbTintColor:[UIColor brownColor]];
//9.設置滑塊的值是否實時(連續)改變
slider.continuous = YES;
}
//當滑塊滑動的時候實時調用這個方法;
- (void)sliderChange:(UISlider *) slider{
NSLog(@"%f",slider.value);
//改變進度條的進度
UIProgressView *progressView = (UIProgressView *)[_window viewWithTag:77];
progressView.progress = slider.value / (slider.maximumValue -
slider.minimumValue);
}
#pragma mark - UISwitch
- (void)createSwitch{
//1.建立開關對象;
//UISwitch:UIControl:UIView
UISwitch *switch1 = [[UISwitch alloc]initWithFrame:
CGRectMake(100, 30, 0, 0)];
//顯示在界面上
[_window addSubview:switch1];
//2.開關的核心屬性:開關關閉狀態和開狀態
//yes:開 NO:關(默認);
//設置開關狀態;
[switch1 setOn:YES];
//獲取開關的狀態;
BOOL ret = [switch1 isOn];
if (ret) {
NSLog(@"開啓");
}else{
NSLog(@"關閉");
}
//3.給開關添加事件
//參數1:響應消息的對象
//參數2:消息(能夠不帶參,也能夠單參,帶參只能帶開關自己)
//參數3:事件
[switch1 addTarget:self action:@selector(switchOn:)
forControlEvents:UIControlEventValueChanged];
//4.設置開關開啓狀態的填充顏色;
switch1.onTintColor = [UIColor yellowColor];
//5.設置關閉狀態的顏色;
switch1.tintColor = [UIColor redColor];
//6.設置開關滑塊的顏色
switch1.thumbTintColor = [UIColor cyanColor];
}
- (void)switchOn:(UISwitch *)switch1{
//每次點擊開關都建立表單;
[self createActionSheet];
//每次觸摸開關,開關的狀態都會發生改變
if (switch1.on) {
NSLog(@"開關開啓");
}else{
NSLog(@"開關關閉");
}
}
@end