zoukankan      html  css  js  c++  java
  • 全局异步和主线程异步区别、改变PlaceHolder颜色、解决键盘弹起挡住文本框问题

    1、全局异步执行耗时任务

    dispatch_async(dispatch_get_global_queue(0, 0), ^{

    });

    2.主线程异步刷新UI

    dispatch_async(dispatch_get_main_queue(), ^{

    });

    3.改变PlaceHolder的颜色

    [username_text setValue:[UIColor colorWithRed:1 green:1

    blue:1 alpha:0.5]

    forKeyPath:@"_placeholderLabel.textColor"];

    4.解决键盘弹起挡住文本框的问题

    //键盘弹起时重置View大小

    -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent

    *)event{

    [username_text resignFirstResponder];

    [password_text resignFirstResponder];

    NSTimeInterval animationDuration = 0.30f;

    [UIView beginAnimations:@"ResizeForKeyboard"context:nil];

    [UIView setAnimationDuration:animationDuration];

    CGRect rect = CGRectMake(0.0f, 0.0f,self.view.frame.size.width,self.view.frame.size.height);

    self.view.frame = rect;

    [UIView commitAnimations];

    }

    //退出编辑(键盘落下)重置View大小

    - (BOOL)textFieldShouldReturn:(UITextField *)textField

    {

    NSTimeInterval animationDuration = 0.30f;

    [UIView beginAnimations:@"ResizeForKeyboard"context:nil];

    [UIView setAnimationDuration:animationDuration];

    CGRect rect = CGRectMake(0.0f, 0.0f,self.view.frame.size.width,self.view.frame.size.height);

    self.view.frame = rect;

    [UIView commitAnimations];

    [textField resignFirstResponder];

    return YES;

    }

    5.开始编辑(键盘弹起)通过控件Y坐标计算View显示范围

    - (void)textFieldDidBeginEditing:(UITextField *)textField

    {

    CGRect frame = password_text.frame;

    int offset = frame.origin.y + 32 -

    (self.view.frame.size.height - 216.0);

    NSTimeInterval animationDuration = 0.30f;

    [UIView beginAnimations:@"ResizeForKeyBoard"

    context:nil];

    [UIView setAnimationDuration:animationDuration];

    floatwidth =self.view.frame.size.width;

    floatheight =self.view.frame.size.height;

    if(offset > 0)

    {

    CGRect rect = CGRectMake(0.0f, -

    offset,width,height);

    self.view.frame = rect;

    }

    [UIView commitAnimations];

    }

  • 相关阅读:
    Windows RC版、RTM版、OEM版、RTL版、VOL版的区别
    jQuery MiniUI开发系列之:创建组件对象
    Mobile Web 调试指南(2):远程调试
    Using the viewport meta tag to control layout on mobile browsers
    鼠标滚轮事件MouseWheel
    photoshop基础
    10个jQuery插件分享
    Centos 安装nodejs
    Centos 安装.NET CORE 3.1
    Centos 安装nginx
  • 原文地址:https://www.cnblogs.com/CJH5209/p/6072129.html
Copyright © 2011-2022 走看看