全局异步和主线程异步区别、改变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];

}

时间: 2024-10-17 04:45:12

全局异步和主线程异步区别、改变PlaceHolder颜色、解决键盘弹起挡住文本框问题的相关文章

Delphi Firemonkey在主线程 异步调用函数(延迟调用)

先看下面的FMX.Layouts.pas中一段代码 procedure TCustomScrollBox.MouseDown(Button: TMouseButton; Shift: TShiftState; X, Y: Single); begin FMouseEvents := True; inherited; if (Button = TMouseButton.mbLeft) then begin MousePosToAni(X, Y); AniMouseDown(ssTouch in S

在安卓主线程不能发送网络请求的解决办法

第一种方法: 在主线程中加入这段代码,强制在主线程执行网络请求 if (android.os.Build.VERSION.SDK_INT > 9) { StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); } 第二种方法: 利用安卓系统自带的异步执行,将网络请求的代码加入在里面 new Async

改变placeholder颜色

/* WebKit browsers */ ::-webkit-input-placeholder { color: red; text-overflow: ellipsis; } /* Mozilla Firefox 4 to 18 */ :-moz-placeholder { color: #acacac !important; text-overflow: ellipsis; } /* Mozilla Firefox 19+ */ ::-moz-placeholder { color: #

接上 主线程和分线程的另一种方法GCD

// //  ViewController.m //  GCD // //  Created by mac on 15-9-28. //  Copyright (c) 2015年 zy. All rights reserved. // #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDi

Ajax - 异步处理(点击变成文本框并修改)

效果: 对应的文档结构: Test.aspx 前台代码: 引入JQuery(jquery-1.8.3.min.js). 引入自己所写的JS代码(UserJS.js). <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; cha

IOS_改变UITextField placeHolder颜色、字体

IOS_改变UITextField placeHolder颜色.字体 我们有时需要定制化UITextField对象的风格,可以添加许多不同的重写方法,来改变文本字段的显示行为.这些方法都会返回一个CGRect结构,制定了文本字段每个部件的边界范围,甚至修改placeHolder颜色,字体. – textRectForBounds:     //重写来重置文字区域 – drawTextInRect:        //改变绘文字属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函

ColorStateList改变按钮、文本框文字变色

在平时项目中经常要做的就是改变按钮的背景颜色.文字验证,文本框也是如此. 我们知道用xml来实现选中效果是非常容易的,而且也简单.xml代码如下:这样的可以直接写在res/color/button_text.xml中 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"

[转]改变UITextField placeHolder颜色、字体

本文转载至 http://m.blog.csdn.net/blog/a394318511/8025170 我们有时需要定制化UITextField对象的风格,可以添加许多不同的重写方法,来改变文本字段的显示行为.这些方法都会返回一个CGRect结构,制定了文本字段每个部件的边界范围,甚至修改placeHolder颜色,字体. – textRectForBounds:     //重写来重置文字区域 – drawTextInRect:        //改变绘文字属性.重写时调用super可以按默

(转) 改变UITextField placeHolder颜色、字体 、输入光标位置等

我们有时需要定制化UITextField对象的风格,可以添加许多不同的重写方法,来改变文本字段的显示行为.这些方法都会返回一个CGRect结构,制定了文本字段每个部件的边界范围,甚至修改placeHolder颜色,字体. – textRectForBounds:     //重写来重置文字区域 – drawTextInRect:        //改变绘文字属性.重写时调用super可以按默认图形属性绘制,若自己完全重写绘制函数,就不用调用super了. – placeholderRectFor