当前位置: 编程技术>移动开发
本页文章导读:
▪键盘遮盖TextField的解决办法 键盘遮盖TextField的解决方法
首先添加UITextFieldDelegate,然后textFiled.delegate = self;下面就是实现UITextFieldDelegate的两个方法了,如下://编辑前调整
- (void)textFieldDidBeginEditing:(UITextField *)textField{
.........
▪ 扩充了 Objective-c标准库后,提示找不到该文件 扩展了 Objective-c标准库后,提示找不到该文件
如果扩展了Objective-c的标准库后,把扩展后的.h和.m打包成.a。但是.a加入新的项目后运行时总是提示找不到我们新增的函数。 解.........
▪ 设立Activity的背景颜色 设置Activity的背景颜色
设置Activity的背景颜色
前提是需要在value目录下的string.xml文件中加入一段代码:
<drawable name="bkcolor">#ff00ff</drawable>
其中的颜色值可以自己设置。
.........
[1]键盘遮盖TextField的解决办法
来源: 互联网 发布时间: 2014-02-18
键盘遮盖TextField的解决方法
首先添加UITextFieldDelegate,然后textFiled.delegate = self;下面就是实现UITextFieldDelegate的两个方法了,如下:
首先添加UITextFieldDelegate,然后textFiled.delegate = self;下面就是实现UITextFieldDelegate的两个方法了,如下:
//编辑前调整
- (void)textFieldDidBeginEditing:(UITextField *)textField{
CGRect r = [textField convertRect:textField.frame toView:appDelegate.window];//将textField坐标系转换成整个屏幕的坐标系
CGFloat y = 0.0;
CGFloat y1 = 0.0;
//横竖屏四种情况,算出textField在屏幕坐标系中的高度y,算出屏幕高度与键盘高度差y1
if (appDelegate.interfaceOrientation == UIInterfaceOrientationPortrait) {
y = CGRectGetMaxY(r);
y1 = SCREEN_HEIGHT - KEYBOARD_HEIGHT;
} else if (appDelegate.interfaceOrientation == UIInterfaceOrientationPortraitUpsideDown) {
y = SCREEN_HEIGHT - r.origin.y;
y1 = SCREEN_HEIGHT - KEYBOARD_HEIGHT;
} else if (appDelegate.interfaceOrientation == UIDeviceOrientationLandscapeRight) {
y = r.origin.x + r.size.width ;
y1 = SCREEN_WIDTH - KEYBOARD_HEIGHTForHorizontal;
}else {
y = SCREEN_WIDTH - r.origin.x;
y1 = SCREEN_WIDTH - KEYBOARD_HEIGHTForHorizontal;
}
//当键盘能遮盖时做处理
if (y > y1) {
float offsetY = y - y1;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.2];
r = view.frame; //view为textField所在需要调整的view
preFrame = r; //记录大小以便调整回来
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.2];
r.origin.y = r.origin.y - offsetY;
view.frame = r; //调整view的y值
[UIView commitAnimations];
viewHasMove = YES; //记录是否调整
}
}
//编辑后恢复
- (void)textFieldDidEndEditing:(UITextField *)textField{
if (viewHasMove) { //已调整
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.2];
view.frame = preFrame; //
[UIView commitAnimations];
viewHasMove = NO;
}
}
[2] 扩充了 Objective-c标准库后,提示找不到该文件
来源: 互联网 发布时间: 2014-02-18
扩展了 Objective-c标准库后,提示找不到该文件
如果扩展了Objective-c的标准库后,把扩展后的.h和.m打包成.a。但是.a加入新的项目后运行时总是提示找不到我们新增的函数。
解决方法是:在工程文件里(.xcodeproj)将other linker flags选项修改为-ObjC
如果扩展了Objective-c的标准库后,把扩展后的.h和.m打包成.a。但是.a加入新的项目后运行时总是提示找不到我们新增的函数。
解决方法是:在工程文件里(.xcodeproj)将other linker flags选项修改为-ObjC
[3] 设立Activity的背景颜色
来源: 互联网 发布时间: 2014-02-18
设置Activity的背景颜色
设置Activity的背景颜色
前提是需要在value目录下的string.xml文件中加入一段代码:
<drawable name="bkcolor">#ff00ff</drawable>
其中的颜色值可以自己设置。
以下为两种方法:
一.从代码中设置
1.首先导入必要的包:
import android.content.res.Resources; import android.graphics.drawable.Drawable;
2.然后在onCreate()函数中加入以下代码:
Resources res = getResources(); Drawable drawable = res.getDrawable(R.drawable.bkcolor); this.getWindow().setBackgroundDrawable(drawable);
二.从布局文件(例如main.xml)中设置
在<...layout>标签中加上以下代码
android:background="@drawable/bkcolor"
1 楼
gf_crazy
2012-02-21
想请教下,我调用的时候报出
在 onCreate() 中
ERROR/AndroidRuntime(2481): Caused by: android.content.res.Resources$NotFoundException: Resource ID #0x7f020001
在 onCreate() 中
Resources res = getResources();
Drawable dra = res.getDrawable(R.drawable.white);
this.getWindow().setBackgroundDrawable(dra);最新技术文章: