UILabel、UIButton、UITextField控件的簡單使用

  UILabel、UIButton、UITextField是UI中最簡單也是必須掌握的基礎控件,下面我來介紹下這3個控件分別用來幹嗎的。程序員

  UILabel:是一個文本框,主要用來顯示文本信息的,好比微博上看到的文字,就是UILabel。ide

  UIButton:是一個按鈕,用來點擊觸發一些事件的。好比QQ上發送消息,就是UIButton。spa

  UITextField:是輸入框,用來輸入文本信息的。好比QQ上面打字。code

  話很少說,直接上代碼。咱們先來完成UILabel,爲了使代碼看起來更加美觀,咱們就把UILabel封裝起來,咱們先在延展就聲明一個方法,orm

- (UILabel *)createLabelWithText:(NSString *)text frame:(CGRect)frame textColor:(UIColor *)textColor textAlignment:(NSTextAlignment)textAlignment numberOfLines:(NSInteger)numberOfLines font:(UIFont *)font;

  而後咱們把這個方法實現出來。對象

- (UILabel *)createLabelWithText:(NSString *)text frame:(CGRect)frame textColor:(UIColor *)textColor textAlignment:(NSTextAlignment)textAlignment numberOfLines:(NSInteger)numberOfLines font:(UIFont *)font {
    UILabel *label = [[UILabel alloc] initWithFrame:frame];
    label.text = text;
    label.textColor = textColor;
    label.textAlignment = textAlignment;
    label.numberOfLines = numberOfLines;
    label.font = font;
    return [label autorelease];
}

  這樣的話,咱們只須要一行代碼就能夠建立完一個UILabel,而後再寫一行代碼把UILabel添加到UIView上面。blog

UILabel *label1 = [self createLabelWithText:@"Hello iOS" frame:CGRectMake(0, 300,100, 40) textColor:[UIColor magentaColor] textAlignment:NSTextAlignmentCenter numberOfLines:0 font:[UIFont boldSystemFontOfSize:21]];
    [containerView addSubview:label1];

  初學者總會忘記設置frame,所有寫完了,可是運行起來什麼都看不到,那頗有可能就是忘記給frame了。事件

  

  UITextField咱們也把它封裝起來。圖片

- (UITextField *)createTextFiledWithFrame:(CGRect)frame borderStyle:(UITextBorderStyle)borderStyle placeholder:(NSString *)placeholder secureTextEntry:(BOOL)secureTextEntry keyboardType:(UIKeyboardType)keyboardType {
    UITextField *textField = [[UITextField alloc] initWithFrame:frame];
    textField.borderStyle = borderStyle;
    textField.placeholder = placeholder;
    textField.secureTextEntry = secureTextEntry;
    textField.keyboardType = keyboardType;
    return [textField autorelease];
}

  按照跟UILabel同樣的方法,依樣畫葫蘆,就能完成UITextField的建立了。get

  封裝起來,看代碼是否是簡潔性很好的,強迫症的人看起來是否是很舒服。下面,咱們就來看看不封裝的樣子。

// 建立一個UIButton對象,UIButton側重於交互,響應事件
    UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
    
    // 設置frame
    button.frame = CGRectMake(37, 300, 200, 200);
    
    // 設置button顯示的文本(標題)
//    [button setTitle:@"八~~~達" forState:UIControlStateNormal];
    
    // 若是button樣式是system,那麼不給定標題顏色,也能看見標題,默認藍色
    // 若是button樣式custom,那麼除了給定標題內容以外,還須要給定標題文本顏色
    [button setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
    [button setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];
    
    // 設置Button的背景圖片
    
    // 設置前景圖片時,使用custom樣式,若是圖片大小大於button的大小,那麼圖片會被壓縮到與button等大,若是圖片大小小於button的大小,阿麼圖片保留原有大小
    // 設置背景圖片時,不論使用custom仍是system,圖片大於或者小於button大小,都會顯示的與button等大
    [button setImage:[UIImage imageNamed:@"xigua"] forState:UIControlStateNormal];
    [button setImage:[UIImage imageNamed:@"BtnOff"] forState:UIControlStateHighlighted];
    
    // 點擊時若是設置了圖片,不出現閃爍的效果
//    button.adjustsImageWhenHighlighted = NO;
    
    // 關鍵方法,爲button添加了一個事件
    [button addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];
    
    [containerView addSubview:button];

  下面是點擊事件的代碼,不觸發什麼事件,就輸出一下,知道點擊事件觸發了就行了。

- (void)click:(UIButton *)sender {
    NSLog(@"boom boooooooom ! ! ! !");
}

  這代碼是否是看起來就很長了,沒有封裝起來的代碼好看。

  好了,基礎的建立已經講完了,更加深層次就是本身去研究了,建議用純代碼,萬行代碼的程序員只是一個入門。

相關文章
相關標籤/搜索