当前位置:  编程技术>移动开发
本页文章导读:
    ▪(2)UITabBar and UINavigationController基础教程之UITextField键盘隐藏及防止键盘遮挡        (二)UITabBar and UINavigationController基础教程之UITextField键盘隐藏及防止键盘遮挡之前我们实现了页面切换 (一)UITabBar and UINavigationController基础教程之切换页面http://blog.csdn.net/zhangyankan/article/de.........
    ▪ matlab发生m序列代码        matlab产生m序列代码%%%产生m序列 function[seq]=mseq(connections,registers,len)%registers为寄存器初值序列,connections为各个寄存器的反馈连接取值序列(0/1)(不包括第一个寄存器) m=length(connections); L=2^m.........
    ▪ 声波通讯原理及源代码       声波通信原理及源代码        目前声波通信已经在iphone和android中广泛的应用起来了,比如iphone中的chirp,android中的茄子快传,支付宝的声波支付,小米快传等。这些传输技术大多都是使.........

[1](2)UITabBar and UINavigationController基础教程之UITextField键盘隐藏及防止键盘遮挡
    来源: 互联网  发布时间: 2014-02-18
(二)UITabBar and UINavigationController基础教程之UITextField键盘隐藏及防止键盘遮挡
之前我们实现了页面切换
(一)UITabBar and UINavigationController基础教程之切换页面http://blog.csdn.net/zhangyankan/article/details/12833619


这次我们实现UITextField键盘隐藏及防止键盘遮挡

首先我们在.m文件中那个让viewcontroller实现UITextFieldDelegate

#import <UIKit/UIKit.h>
#import "JBaseViewController.h"

@interface JSecondViewController : JBaseViewController<UITextFieldDelegate>

@end

接下来我们在.h文件中实现
#import "JSecondViewController.h"
#import "StudentDataHelper.h"
#import "Student.h"

@interface JSecondViewController ()

@property UITextField  *name;
@property UITextField  *age;
@property UITextField  *sex;

@end

@implementation JSecondViewController

-(void)buildLayout
{
    //创建出需要的界面元素
    NSArray *text = @[@"姓名",@"年龄",@"性别"];
    for (int i=0; i<3; i++)
    {
        UILabel *lab = [[UILabel alloc]initWithFrame:CGRectMake(30, 100*i+70, 50, 30)];
        lab.text = [text objectAtIndex:i];
        lab.backgroundColor = [UIColor clearColor];
        [self.view addSubview:lab];
        [lab release];
    }
    
    _name = [[UITextField alloc]initWithFrame:CGRectMake(90, 70, 200, 30)];
    _name.borderStyle = UITextBorderStyleRoundedRect;
    [self.view addSubview:_name];
    [_name release];
    
    _age = [[UITextField alloc]initWithFrame:CGRectMake(90, 170, 200, 30)];
    _age.borderStyle = UITextBorderStyleRoundedRect;
    [self.view addSubview:_age];
    [_age release];
    
    _sex = [[UITextField alloc]initWithFrame:CGRectMake(90, 270, 200, 30)];
    _sex.borderStyle = UITextBorderStyleRoundedRect;
    [self.view addSubview:_sex];
    [_sex release];
    
    UIButton * btn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
    btn.frame=CGRectMake(90, 340, 150, 40);
    btn.backgroundColor=[UIColor clearColor];
    [btn setTitle:@"保存" forState:UIControlStateNormal];
    [btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
    [btn addTarget:self action:@selector(save) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:btn];
    [btn release];

}

-(void)save
{
    //这里就先不介绍怎么具体存入数据库了
    //NSLog(@"==1==");
    Student * student=[[Student alloc]init];
    student.name=_name.text;
    student.sex=_sex.text;
    student.age=_age.text;
    StudentDataHelper * stu=[StudentDataHelper sharedHelper];
    //NSLog(@"%@",student.name);
    [stu addStudent:student];
    [student release];
}

//隐藏输入键盘 (点击return)
-  (BOOL)textFieldShouldReturn:(id)sender
{
	[sender  resignFirstResponder];
    
	return  YES;
}
//隐藏输入键盘(文本框 失去焦点键盘隐藏)
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    [_name resignFirstResponder];
    [_age resignFirstResponder];
    [_sex resignFirstResponder];
}
-(void)textFieldDidBeginEditing:(id)sender
{
    if (sender==_sex) {
        //CGRectOffset,让一个矩阵偏移一定的量
        CGRect target = CGRectOffset(self.view.frame, 0, -80);
        
        [UIView animateWithDuration:0.25 animations:^{
            self.view.frame = target;}];
    }
}
- (void)textFieldDidEndEditing:(id)sender
{
    if (sender==_sex) {
        CGRect target = CGRectOffset(self.view.frame, 0, 80);
        
        [UIView animateWithDuration:0.25 animations:^{
            self.view.frame = target;}];
    }
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    self.view.backgroundColor=[UIColor grayColor];
    [self buildLayout];
    //隐藏navigationController
    [self.navigationController setNavigationBarHidden:YES animated:YES];
    
	//把它们3个属性的代理设成自身
    _name.delegate=self;
    _age.delegate=self;
    _sex.delegate=self;
}

@end

这样就可以基本实现了

     


    
[2] matlab发生m序列代码
    来源: 互联网  发布时间: 2014-02-18
matlab产生m序列代码
%%%产生m序列
function[seq]=mseq(connections,registers,len)%registers为寄存器初值序列,connections为各个寄存器的反馈连接取值序列(0/1)(不包括第一个寄存器)
m=length(connections);
L=2^m-1;%m序列周期长度
if len==0
    len=L;%len需要输出序列的长度
end
fan=0;
for i=1:len
    seq(i)=registers(m);%seq(i)为输出(第m个寄存器的值)
    for j=1:m
        fan=fan+connections(j)*registers(j);
        fan=(mod(fan,2));%fan为第一个寄存器移位输入1或0
    end
    for t=m:-1:2%寄存器移位
        registers(t)=registers(t-1);
    end
    registers(1)=fan;
    fan=0;
end

    
[3] 声波通讯原理及源代码
    来源: 互联网  发布时间: 2014-02-18
声波通信原理及源代码

        目前声波通信已经在iphone和android中广泛的应用起来了,比如iphone中的chirp,android中的茄子快传,支付宝的声波支付,小米快传等。这些传输技术大多都是使用声波作为握手信号,然后使用wifi或其他信道传输数据。比如茄子快传可能的实现为,接收方先建立wifi热点,然后将热点名称通过声波发送出去,发送方在收到声波后解码出wifi热点名称,然后自动链接热点并传输文件,整个过程不需要人工干预。这些程序的核心技术和难点在于声波通信,下面讲解声波通信原理。

        声波通信的原理其实比较简单,主要是用单频率声音信号对数据进行编码,然后播放这些单频率声音,接收方在收到声音后,识别出频率,然后根据频率解码出数据。比如:我们可以将1500HZ的正弦波对应数字1,1600HZ的正弦波对应数字2,1700HZ的正弦波对应数字3。那么数字串3123就对应4段正弦波,规定每段正弦波持续100ms,则3123对应400毫秒的声音段。接收方录制声音,对收到的声音进行解析,识别出1700HZ,1500HZ,1600HZ,1700HZ四段正弦波频率,然后查找码本,解码出的数字就是3123。

        说了这么多,大家可能还会觉得比较抽象,没关系,大家可以下载声波通信的源代码自己理解:点击打开链接 。


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
编程技术其它 iis7站长之家
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3