1. 程式人生 > >ios筆記(二)控件屬性

ios筆記(二)控件屬性

let less sin alpha rec 再次 fontsize adjust 旋轉


1.設置UIButton的按鈕內容
//設置自定義的按鈕
//UIButton *button1=[UIButton buttonWithType:UIButtonTypeCustom];
//設置一個圓角的按鈕
UIButton *button1=[UIButton buttonWithType:UIButtonTypeRoundedRect];

button1.frame=CGRectMake(80,250,250, 30);//按鈕的位置坐標
[button1 setTitle:@"Button1" forState:UIControlStateNormal];//普通狀態按鈕標題
[button1 setTitle:@"
高亮狀態" forState:UIControlStateHighlighted];//高亮狀態的按鈕標題 //高亮狀態光暈效果 [button1 setShowsTouchWhenHighlighted:YES]; //設置標題的顏色 [button1 setTitleColor:[UIColor redColor] forState:UIControlStateNormal]; //設置標題的字體大小 [button1.titleLabel setFont:[UIFont boldSystemFontOfSize:20]]; //設置背景顏色 [button1 setBackgroundColor:[UIColor blueColor]];
//圖片被拉伸式地設置背景圖片 [button1 setBackgroundImage:[UIImage imageNamed:@"1.jpg"] forState:UIControlStateNormal]; //圖片保持原來大小地設置背景圖片 //[button1 setImage:[UIImage imageNamed:@"1.jpg"] forState:UIControlStateNormal]; [[button1 titleLabel]setShadowColor:[UIColor blackColor]]; [[button1 titleLabel]setShadowOffset:CGSizeMake(
-0.5, -0.5)]; button1.contentHorizontalAlignment=UIControlContentHorizontalAlignmentLeft; [self.view addSubview:button1]; //監聽事件 [button1 addTarget:self action:@selector(Click_Button) forControlEvents:UIControlEventTouchUpInside]; } -(void)Click_Button { NSLog(@"已點擊..."); }
2.設置UIImageView的圖片內容
   1.實例化控件
     UIImageView *img = [[UIImageView alloc] init];
     //簡寫UIImageView *img = [UIImageView new];
     2.設置控件內容,後面的background是圖片名稱,只需拖進項目的Assets文件即可
     img.image = [UIImage imageNamed:@"background"];
     3.設置控件的frame(坐標)
     img.frame = CGRectMake(0, 0, 100, 100);
     4.添加在父控件
     [self.view addSubView:img];
2.3 使用transform屬性

imageView.transform = CGAffineTransformMakeTranslation(CGFloat dx, CGFloat dy);
 其中dx與dy表示想要往x或者y方向移動多少,而不是移動到多少。

3、旋轉圖像

imageView.transform = CGAffineTransformMakeRotation(CGFloat angle);
  要註意它是按照順時針方向旋轉的,而且旋轉中心是原始ImageView的中心,也就是center屬性表示的位置。

  這個方法的參數angle的單位是弧度,而不是我們最常用的度數,所以可以寫一個宏定義:

 #define degreesToRadians(x) (M_PI*(x)/180.0)

4、縮放圖像

 還是使用transform屬性:

imageView.transform = CGAffineTransformMakeScale(CGFloat scale_w, CGFloat scale_h);
5、為圖片添加單擊事件: imageView.userInteractionEnabled = YES;//使控件實現交互 UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapImageView:)]; [imageView addGestureRecognizer:singleTap]; 一定要先將userInteractionEnabled置為YES,這樣才能響應單擊事件 6.其他設置 imageView.hidden = YES或者NO; // 隱藏或者顯示圖片 imageView.alpha = (CGFloat) al; // 設置透明度 imageView.highlightedImage = (UIImage *)hightlightedImage; // 設置高亮時顯示的圖片 imageView.image = (UIImage *)image; // 設置正常顯示的圖片 [imageView sizeToFit]; // 將圖片尺寸調整為與內容圖片相同

3.設置UILabel的屬性內容

設置label的標記(tag) label.tag
=101; 設置label的文本內容 label.text =@"abcd" 設置label的文字類型與大小 label.font = [UIFont systemFontOfSize:12];//采用系統默認文字設置大小 label.font = [UIFont fontWithName:@"Arial" size:30];//設置文字類型與大小 設置label的文字顏色 label.textColor = [UIColor lightGrayColor];//其中textColor要用UIColor類型 設置文本的對齊方式 label.textAlignment = NSTextAlignmentLeft; 其中textAlignment有三種設置方式:NSTextAlignmentLeft為向左對齊,NSTextAlignmentCenter為居中對齊,NSTextAlignmentRight為向右對齊 如果有一些文章介紹時用的是UITextAlignmentCenter/UITextAlignmentLeft/UITextAlignmentRight,那是iOS6以前的用法,iOS6的最新用法已改 當文本內容很多,label無法全部顯示時label會將文本內容以省略號的方式代替,下面說一下label文本省略方式的設置 label.lineBreakMode =NSLineBreakByCharWrapping;//其中lineBreakMode可選值為 linBreakMode enum{ NSLineBreakByWordWrapping = 0,//保留整個單詞,以空格為邊界 NSLineBreakByCharWrapping,//保留整個字符 NSLineBreakByClipping,//以邊界為止 NSLineBreakByTruncatingHead,//省略開頭,以省略號代替 NSLineBreakByTruncatingTail,//省略結尾,以省略號代替 NSLineBreakByTruncatingMiddle//省略中間,以省略號代替 } 設置文本的行數 label.numberOfLines = 0;//行數設置為1,不設置時系統會默認行數為1,設置為0時,表示自動換行,但需要給定控件寬度 設置控件自適應內容的大小 [label sizeToFit]; 設置label的邊框粗細與顏色,設置前要在相應文件中加入#import<QuartzCore/QuartzCore.h> label.layer.borderColor = [UIColor lightGrayColor].CGColor;//邊框顏色,要為CGColor label.layer.borderWidth = 1;//邊框寬度 設置label的背景顏色 label.backgroundColor =[UIColor yellowColor]; 設置背景圖可以把一張大小與label一樣的圖放在label的後面一層,然後把label的背景設置為透明,這樣實現label有背景 UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(50, 50, 200, 400)]; UIImageView *imageView =[[UIImageView alloc]init]; imageView.frame =CGRectMake(50, 50, 200, 400); UIImage *image=[UIImage imageNamed:@"1.jpg"]; imageView.image =image;//imageView會根據自身大小改變添加的圖片的大小所以不需要額外設置image label.backgroundColor = [UIColor clearColor]; label.text =@"hello world"; label.font = [UIFont systemFontOfSize:30]; label.textColor = [UIColor yellowColor]; [self.view addSubview:imageView];//添加的順序不能錯,否則圖片會覆蓋label [self.view addSubview:label]; 設置文本陰影 label.shadowColor =[UIColor grayColor]; 設置陰影大小 label.shadowOffset = CGSizeMake(2.0, 2.0); 設置label圓角 label.layer.cornerRadius = 10; 要是用這樣的設置要先在頭文件中加上#import<QuartzCore/QuartzCore.h>

4.設置TextField的屬性內容
定義一個TextField

userNameField = [[UITextField alloc] initWithFrame:CGRectMake(userNameImg.frame.origin.x+30,userNameImg.frame.origin.y, 165, 40)];
    userNameField.placeholder = @"User Name";
userNameField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"手機號碼"
 
                                    attributes:@{ NSForegroundColorAttributeName:placeHolderColor}];
上面這句是設置placeHolder的顏色,placeHolderColor是自己需要的顏色
    userNameField.backgroundColor = [UIColor clearColor];
    userNameField.delegate = self;
    userNameField.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
    userNameField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
    userNameField.borderStyle = UITextBorderStyleNone;
    userNameField.font = [UIFont systemFontOfSize:14.0];
    [self.view addSubview:userNameField];

//設置邊框樣式,只有設置了才會顯示邊框樣式  
  text.borderStyle = UITextBorderStyleRoundedRect;
  typedef enum {
    UITextBorderStyleNone, 
    UITextBorderStyleLine,
    UITextBorderStyleBezel,
    UITextBorderStyleRoundedRect  
  } UITextBorderStyle;
  
//設置輸入框的背景顏色,此時設置為白色如果使用了自定義的背景圖片邊框會被忽略掉  
   text.backgroundColor = [UIColor whiteColor];
//設置背景
  text.background = [UIImage imageNamed:@"dd.png"];
//設置背景 
  text.disabledBackground = [UIImage imageNamed:@"cc.png"];
//當輸入框沒有內容時,水印提示提示內容為password
  text.placeholder = @"password";
//設置輸入框內容的字體樣式和大小
  text.font = [UIFont fontWithName:@"Arial" size:20.0f];
//設置字體顏色
  text.textColor = [UIColor redColor];
//輸入框中是否有個叉號,在什麽時候顯示,用於一次性刪除輸入框中的內容
  text.clearButtonMode = UITextFieldViewModeAlways;
typedef enum {
    UITextFieldViewModeNever,  重不出現
    UITextFieldViewModeWhileEditing, 編輯時出現
    UITextFieldViewModeUnlessEditing,  除了編輯外都出現
    UITextFieldViewModeAlways   一直出現
} UITextFieldViewMode;
//輸入框中一開始就有的文字
  text.text = @"一開始就在輸入框的文字";
 
//每輸入一個字符就變成點用語密碼輸入
  text.secureTextEntry = YES;
//是否糾錯
  text.autocorrectionType = UITextAutocorrectionTypeNo;
typedef enum {
    UITextAutocorrectionTypeDefault, 默認
    UITextAutocorrectionTypeNo,   不自動糾錯
    UITextAutocorrectionTypeYes,  自動糾錯
} UITextAutocorrectionType;
//再次編輯就清空
  text.clearsOnBeginEditing = YES; 
//內容對齊方式
  text.textAlignment = UITextAlignmentLeft;
//內容的垂直對齊方式  UITextField繼承自UIControl,此類中有一個屬性contentVerticalAlignment
  text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
//設置為YES時文本會自動縮小以適應文本窗口大小.默認是保持原來大小,而讓長文本滾動  
  textFied.adjustsFontSizeToFitWidth = YES;
//設置自動縮小顯示的最小字體大小
  text.minimumFontSize = 20;
//設置鍵盤的樣式
  text.keyboardType = UIKeyboardTypeNumberPad;
typedef enum {
    UIKeyboardTypeDefault,       默認鍵盤,支持所有字符         
    UIKeyboardTypeASCIICapable,  支持ASCII的默認鍵盤
    UIKeyboardTypeNumbersAndPunctuation,  標準電話鍵盤,支持+*#字符
    UIKeyboardTypeURL,            URL鍵盤,支持.com按鈕 只支持URL字符
UIKeyboardTypeNumberPad,              數字鍵盤
UIKeyboardTypePhonePad,     電話鍵盤
    UIKeyboardTypeNamePhonePad,   電話鍵盤,也支持輸入人名
UIKeyboardTypeEmailAddress,   用於輸入電子 郵件地址的鍵盤     
UIKeyboardTypeDecimalPad,     數字鍵盤 有數字和小數點
    UIKeyboardTypeTwitter,        優化的鍵盤,[email protected]#字符
    UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, 
} UIKeyboardType;
 //首字母是否大寫
  text.autocapitalizationType = UITextAutocapitalizationTypeNone;
typedef enum {
    UITextAutocapitalizationTypeNone, 不自動大寫
    UITextAutocapitalizationTypeWords,  單詞首字母大寫
    UITextAutocapitalizationTypeSentences,  句子的首字母大寫
    UITextAutocapitalizationTypeAllCharacters, 所有字母都大寫
} UITextAutocapitalizationType;

ios筆記(二)控件屬性