UI03代理协议

签订协议

// 系统协议的使用
// 1,签订协议

@interface MainViewController : UIViewController <UIAlertViewDelegate, UITextFieldDelegate>


@end

指定试图的代理人

// 指定视图的代理人
    textField.delegate = self;
    textField.tag = 10000;
    [textField release];

执行

- (void)buttonClicked:(UIButton *)button
{
    // 2,指定该view的代理人(delegate),一般都是写self(当前类的一个对象)
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"嗨嗨" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", @"确定2", nil];
    [alertView show];
    [alertView release];
    
}

实现相应的协议方法

// 3,实现相应的协议方法
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    // 点击了alertView上的哪个按钮
    
    NSLog(@"%d", buttonIndex);  // 点击“取消”,显示0,其他的依次往上加1
}

输入框是否可以输入

// 输入框是否可以输入
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    NSLog(@"抢钱!");
    // 是否可以让用户输入
    return YES; //YES可以输入,NO不可以输入
    
}

限制用户输入的字符

// 限制用户输入的字符,
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    if ([string isEqualToString:@"a"]) {
        return NO;          // 输入框不准输入“a”
    }
    NSLog(@"%@", string);
    return YES;
}

清除键是否有用

// 清除键是否有用
- (BOOL)textFieldShouldClear:(UITextField *)textField
{
    return NO;           // 默认有用,NO表示不可清除
}

使用return回收键盘

// return回收键盘
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    //回收键盘
    [textField resignFirstResponder];
    return YES;
}




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值