iOS-UIkit複習和代理的使用實現文字框限制輸入字數控制

來源:互聯網
上載者:User

標籤:

////  HMViewController.m//  01-UIKit複習////  Created by apple on 14-8-18.//  Copyright (c) 2014年 itcast. All rights reserved.//#import "HMViewController.h"@interface HMViewController () <UITextFieldDelegate>@end@implementation HMViewController/** 1> UIButton    -> UIControl -> UIView  1.1 設定控制項的狀態  啟用、禁用 @property(nonatomic,getter=isEnabled) BOOL enabled; 選中、不選中 @property(nonatomic,getter=isSelected) BOOL selected; 高亮或者不高亮 @property(nonatomic,getter=isHighlighted) BOOL highlighted;  1.2 設定控制項內容的布局 垂直置中方向 @property(nonatomic) UIControlContentVerticalAlignment contentVerticalAlignment; 水平置中方向 @property(nonatomic) UIControlContentHorizontalAlignment contentHorizontalAlignment;  1.3 添加/刪除監聽方法 - (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents; - (void)removeTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents; 2> UILabel     -> UIView 3> UIImageView -> UIView 4> UITextField -> UIControl  *** 代理設計模式,在OC中,使用最為廣泛的一種設計模式  1> 代理的用處是什嗎? *  監聽那些不能通過addTarget監聽的事件! *  主要用來負責在兩個對象之間,發生某些事件時,來傳遞訊息或者資料  2> 代理的實現步驟 (1)    成為(子)控制項的代理,父親(控制器)成為兒子(文字框)的代理 (2)    遵守協議->利用智能提示,快速編寫代碼 (3)    實現協議方法 */- (void)viewDidLoad{    [super viewDidLoad];    UIButton *btn = [UIButton buttonWithType:UIButtonTypeContactAdd];    btn.center = self.view.center;    [self.view addSubview:btn];        // 將監聽方法,註冊到"運行迴圈",當按鈕被點擊後,"運行迴圈"通知視圖控制器執行@selector的方法    [btn addTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];    //    UITextField *textFiled = [[UITextField alloc] initWithFrame:CGRectMake(20, 20, 280, 40)];}- (void)click:(UIButton *)btn{    NSLog(@"%s", __func__);        [btn removeTarget:self action:@selector(click:) forControlEvents:UIControlEventTouchUpInside];}#pragma mark - 文字框代理方法/** 成為代理之後要做的事情,以及如何工作  1> 協議:預先定義的一些方法名,每個方法對應不同的事件,但是沒有具體的實現 */- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{    NSLog(@"%@ %@", NSStringFromRange(range), string);        // 限制輸入的長度    int loc = range.location;    return (loc < 6);    //    if (loc < 6) {//        return YES;//    } else {//        return NO;//    }        // 如果返回NO,就不向文字框中添加字元//    return YES;}@end

 

iOS-UIkit複習和代理的使用實現文字框限制輸入字數控制

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.