怎么和高移动魔神打啊太难了。如皋小瞎子子二十一点四移动。。。

iOS开发(OC语言)(131)
让控制器***键盘的通知,注意谁***,谁的dealloc方法中就要remove,如果非ARC还要调用父类的dealloc方法。
//***键盘的操作:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillChangeFrame:) name:UIKeyboardWillChangeFrameNotification object:nil];- (void)dealloc{
[[NSNotificationCenter defaultCenter] removeObserver:self];
- (void)keyboardWillChangeFrame:(NSNotification *)note{
NSLog(@&发送者%@ 内容%@&,note.name,note.userInfo);
}当键盘弹出时,接收到的内容为一个字典:需要注意的是其中的Key都有定义好的NSString,可以直接使用。
UIKeyboardAnimationCurveUserInfoKey = 7;
//动画的执行节奏
UIKeyboardAnimationDurationUserInfoKey = &0.25&; //动画时长
UIKeyboardBoundsUserInfoKey = &NSRect: {{0, 0}, {320, 224}}&;
UIKeyboardCenterBeginUserInfoKey = &NSPoint: {160, 592}&;
UIKeyboardCenterEndUserInfoKey = &NSPoint: {160, 368}&;
UIKeyboardFrameBeginUserInfoKey = &NSRect: {{0, 480}, {320, 224}}&;
//键盘的起始位置、尺寸
UIKeyboardFrameEndUserInfoKey = &NSRect: {{0, 256}, {320, 224}}&;
//键盘的结束位置、尺寸
键盘退出的动作:滑动tableView实现键盘退出:
- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView{
//退出键盘
[self.view endEditing:YES];
键盘动作时整个View跟着键盘走:
一个细节:由于字典中存放的都是对象,因此字典里的CGRect是封装以后的,用CGRectValue方法解开才是CGRect。
//注意,字典里存放的都是对象,要把对象转为CGRect结构体,使用CGRectValue方法。
CGRect InfoKey = [userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];View随键盘移动的方法实现:注意对象向结构体的解包操作,注意note的成员,有userInfo和Object,二者是分开的。这样设计的视图还会随着键盘的尺寸实时变化。
细节:使用Transform可以方便的实现视图的移动。
- (void)keyboardWillChangeFrame:(NSNotification *)note{
//注意,字典里存放的都是对象,要把对象转为CGRect结构体,使用CGRectValue方法。
CGRect keyboardFrame = [note.userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
CGFloat duration = [note.userInfo[UIKeyboardAnimationDurationUserInfoKey] floatValue];
CGFloat offsetY = keyboardFrame.origin.y - self.view.frame.size.
[UIView animateWithDuration:duration animations:^{
self.view.transform = CGAffineTransformMakeTranslation(0, offsetY);
}不够协调的时候会看到黑色的原因:
视图控制器在创建时在最底层会有一个Window,默认为黑色。
解决办法之一是改变window的颜色。
AppDelegate中声明了window。
也可以直接在控制器里面改:self.view.window.backgroundColor可以设置窗口颜色,最好和TableView同色。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:136926次
积分:3979
积分:3979
排名:第5885名
原创:286篇
评论:16条
文章:70篇
阅读:54293
(1)(1)(10)(1)(1)(1)(2)(10)(1)(8)(59)(58)(20)(10)(2)(9)(68)(7)(18)7180人阅读
android开发(38)
&&&&&&&&&&&&&&&&&今天看书,看到了这个效果,以前也用过onTouchEvent(MotionEvent event)这个方法,但是没有想到这么用,感觉不错,所以就自己写了一下,感觉效果不错,以后如果做游戏用得到,点击屏幕在屏幕上滑动,图片跟着滑动!效果不错啊!哈哈,分享一下给大家,希望给大家点启迪,有问题的留言,想要源码的留言,欢迎大家留言讨论!转载请标明出处:
&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &程序开始界面:&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 点击屏幕左上角,图片移动过去
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 点击屏幕左下角,图片移动过去&&&&&&&&&&&&&&&&&&&&&&&&&&& 点击屏幕右下角,图片移动过去
&&&&&&&&&&&&&&&&&&&&&&&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
代码说明一切:
在TouchDemo工程下,.daming的包下面:
一、MainActivity.java类的代码:&&&&&
import android.app.A
import android.graphics.C
import android.graphics.drawable.GradientD
import android.graphics.drawable.GradientDrawable.O
import android.os.B
import android.util.DisplayM
import android.util.L
import android.view.MotionE
import android.view.V
import android.widget.AbsoluteL
import android.widget.B
import android.widget.ImageV
import android.widget.T
public class MainActivity extends Activity {
/*声明ImageView变量*/
private ImageView mImageView01;
/*声明相关变量作为存储图片宽高,位置使用*/
private int intWidth, intHeight, intDefaultX, intDefaultY;
private float mX, mY;
/*声明存储屏幕的分辨率变量 */
private int intScreenX, intScreenY;
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
drawBackground();
/* 取得屏幕对象 */
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
/* 取得屏幕解析像素 */
intScreenX = dm.widthP
intScreenY = dm.heightP
/* 设置图片的宽高 */
intWidth = 100;
intHeight = 100;
/*通过findViewById构造器创建ImageView对象*/
mImageView01 =(ImageView) findViewById(R.id.myImageView1);
/*将图片从Drawable赋值给ImageView来呈现*/
mImageView01.setImageResource(R.drawable.body);
/* 初始化按钮位置居中 */
RestoreButton();
/* 当点击ImageView,还原初始位置 */
mImageView01.setOnClickListener(new Button.OnClickListener()
public void onClick(View v)
RestoreButton();
//加载背景颜色
public void drawBackground()
GradientDrawable grad = new GradientDrawable(
Orientation.TL_BR,
new int[] {
Color.rgb(0, 0, 127),
Color.rgb(0, 0, 255),
Color.rgb(127, 0, 255),
Color.rgb(127, 127, 255),
Color.rgb(127, 255, 255),
Color.rgb(255, 255, 255)
this.getWindow().setBackgroundDrawable(grad);
/*覆盖触控事件*/
public boolean onTouchEvent(MotionEvent event)
/*取得手指触控屏幕的位置*/
float x = event.getX();
float y = event.getY();
/*触控事件的处理*/
switch (event.getAction())
/*点击屏幕*/
case MotionEvent.ACTION_DOWN:
picMove(x, y);
/*移动位置*/
case MotionEvent.ACTION_MOVE:
picMove(x, y);
/*离开屏幕*/
case MotionEvent.ACTION_UP:
picMove(x, y);
}catch(Exception e)
e.printStackTrace();
/*移动图片的方法*/
private void picMove(float x, float y)
/*默认微调图片与指针的相对位置*/
mX=x-(intWidth/2);
mY=y-(intHeight/2);
/*防图片超过屏幕的相关处理*/
/*防止屏幕向右超过屏幕*/
if((mX+intWidth)&intScreenX)
mX = intScreenX-intW
/*防止屏幕向左超过屏幕*/
else if(mX&0)
/*防止屏幕向下超过屏幕*/
else if ((mY+intHeight)&intScreenY)
mY=intScreenY-intH
/*防止屏幕向上超过屏幕*/
else if (mY&0)
/*通过log 来查看图片位置*/
Log.i(&jay&, Float.toString(mX)+&,&+Float.toString(mY));
/* 以setLayoutParams方法,重新安排Layout上的位置 */
mImageView01.setLayoutParams
new AbsoluteLayout.LayoutParams
(intWidth,intHeight,(int) mX,(int)mY)
/* 还原ImageView位置的事件处理 */
public void RestoreButton()
intDefaultX = ((intScreenX-intWidth)/2);
intDefaultY = ((intScreenY-intHeight)/2);
/*Toast还原位置坐标*/
mMakeTextToast
Integer.toString(intDefaultX)+
Integer.toString(intDefaultY)+&)&,true
/* 以setLayoutParams方法,重新安排Layout上的位置 */
mImageView01.setLayoutParams
new AbsoluteLayout.LayoutParams
(intWidth,intHeight,intDefaultX,intDefaultY)
/*自定义一发出信息的方法*/
public void mMakeTextToast(String str, boolean isLong)
if(isLong==true)
Toast.makeText(MainActivity.this, str, Toast.LENGTH_LONG).show();
Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show();
二、在main.xml布局文件中的代码:
&?xml version=&1.0& encoding=&utf-8&?&
&AbsoluteLayout
android:id=&@+id/widget27&
android:layout_width=&fill_parent&
android:layout_height=&fill_parent&
xmlns:android=&/apk/res/android&
android:id=&@+id/myTextView&
android:layout_width=&fill_parent&
android:layout_height=&wrap_content&
android:layout_x=&80dip&
android:text=&@string/hello&
&ImageView
android:id=&@+id/myImageView1&
android:layout_width=&wrap_content&
android:layout_height=&wrap_content&
&/ImageView&
&/AbsoluteLayout&
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:1021534次
积分:10438
积分:10438
排名:第1134名
原创:89篇
评论:1850条
AndroidQQ群一:; AndroidQQ群二:; AndroidQQ群三:;
文章:38篇
阅读:477194
(1)(1)(1)(1)(2)(1)(1)(1)(1)(1)(2)(1)(1)(1)(1)(1)(2)(3)(1)(2)(2)(2)(4)(4)(1)(4)(6)(7)(14)(5)(9)(8)雪佛兰故障案例分析(二十)--《汽车维修技师》2010年07期
雪佛兰故障案例分析(二十)
【摘要】:正案例102车型:科帕奇。VIN:KL1DC53F29BXXXXXX。行驶里程:18004km。故障现象:立即维修故障灯亮。故障诊断:连接GDS+MDI进行车辆检测,发动机控制模块(ECM)有一个故障码:P0101,
【关键词】:
【分类号】:U472【正文快照】:
案例102车型:科帕奇。VIN:KL1DC53F29BXXXXXX。行驶里程:18004km。故障现象:立即维修故障灯亮。故障诊断:连接GDS+MDI进行车辆检测,发动机控制模块(ECM)有一个故障码:P0101,空气流量(MAF)传感器电路性能;电子制动控制模块(EBCM)有一个故障码:C0561,存储了系统停用信息。此车
欢迎:、、)
支持CAJ、PDF文件格式,仅支持PDF格式
【相似文献】
中国期刊全文数据库
王佳俊;冯欣;;[J];世界汽车;2010年01期
雅坤;景升;;[J];世界汽车;2010年01期
雅坤;冯欣;;[J];世界汽车;2010年01期
;[J];中国新技术新产品;2010年01期
;[J];汽车与运动;2010年01期
李晓非;张灵犀;刘征;;[J];汽车与运动;2010年01期
于礼文;刘越;陆雪;;[J];汽车与运动;2010年01期
莽超;艾庆国;;[J];汽车与运动;2010年01期
张灵犀;;[J];汽车与运动;2010年01期
李庆文;刘越;艾庆国;;[J];汽车与运动;2010年01期
中国重要会议论文全文数据库
叶杨婷;方康玲;;[A];全国冶金自动化信息网2009年会论文集[C];2009年
郭骏豪;薛青;贾建强;;[A];图像图形技术研究与应用2009----第四届图像图形技术与应用学术会议论文集[C];2009年
裴满林;张民;李青;王庆海;;[A];2009国际信息技术与应用论坛论文集(上)[C];2009年
夏友富;;[A];《国际贸易》‘新形势下对外贸易发展的作用、意义及促进之策’专题研讨会论文集[C];2009年
李和平;;[A];第三届全国嵌入式技术和信息处理联合学术会议论文集[C];2009年
吕芳;胡林静;臧琛;;[A];第三届全国嵌入式技术和信息处理联合学术会议论文集[C];2009年
魏世龙;胡平;文晟;;[A];中国环境科学学会2009年学术年会论文集(第二卷)[C];2009年
毕亮;杨东凯;;[A];第三届全国嵌入式技术和信息处理联合学术会议论文集[C];2009年
吕德龙;;[A];2009海峡两岸机械科技论坛论文集[C];2009年
王银;胡建军;丁华;;[A];2009海峡两岸机械科技论坛论文集[C];2009年
中国重要报纸全文数据库
缪琴;[N];成都日报;2010年
王洁;[N];21世纪经济报道;2010年
郭建龙;[N];21世纪经济报道;2010年
;[N];中国航空报;2010年
杨佐坤 马建斌;[N];内蒙古日报(汉);2010年
杨秦;[N];中国经济导报;2010年
通讯员 邵艳娟 许武英;[N];中国农机化导报;2010年
荣倬翊;[N];无锡日报;2010年
李方;[N];中国消费者报;2010年
;[N];山西科技报;2010年
中国博士学位论文全文数据库
康慧芳;[D];中国科学院研究生院(理化技术研究所);2009年
马骏骏;[D];上海交通大学;2009年
赵金祥;[D];吉林大学;2009年
高炳钊;[D];吉林大学;2009年
张兴;[D];解放军信息工程大学;2009年
陈绍旺;[D];南开大学;2009年
陈俊;[D];吉林大学;2009年
孙辉;[D];哈尔滨工业大学;2009年
马志龙;[D];华中科技大学;2009年
武涛;[D];上海交通大学;2008年
中国硕士学位论文全文数据库
李小波;[D];武汉理工大学;2010年
唐淑云;[D];江西理工大学;2010年
黄一帆;[D];浙江大学;2010年
刘钊;[D];东华大学;2010年
徐涛;[D];浙江大学;2010年
付银萍;[D];东华大学;2010年
穆韶山;[D];中国石油大学;2010年
李效白;[D];东华大学;2010年
陆宇霆;[D];东华大学;2010年
张继俊;[D];武汉理工大学;2009年
&快捷付款方式
&订购知网充值卡
400-819-9993
《中国学术期刊(光盘版)》电子杂志社有限公司
同方知网数字出版技术股份有限公司
地址:北京清华大学 84-48信箱 大众知识服务
出版物经营许可证 新出发京批字第直0595号
订购***:400-819-82499
服务***:010--
在线咨询:
传真:010-
京公网安备75号两千一百二十四章:往后移动-烈爱焚身:帝少的二次欢宠-天津小说网-
选择字号:
选择背景颜色:
两千一百二十四章:往后移动
本章节来自于
/193/193576/
&&&&唐鹤涵的大手罩住她的,将她困在椅子中间,抱着她,低哑着:“别怕。”&&&&水翎羽低着头不动,光线在她睫毛长打下y影。&&&&这种事换成谁都会被吓得不轻。&&&&唐鹤涵捧起她的脸,亲吻着颤抖的唇瓣,温柔地吮吸,进退厮摩着。&&&&水翎羽没有拒绝,唐鹤涵就那么抱住她,亲吻,灌入属于他的气息,直到水翎羽面红耳赤才放开一些。&&&&待水翎羽基本上平静之后,唐鹤涵将她抱出修理厂,穿过树林,往车那边走。&&&&而在他进入工厂救水翎羽的时候,外面发生了情况。&&&&所以,还没有走到车子前,就感到四周的氛围不对劲,接着就被包围了。&&&&哪怕是夜晚的视线不利,也知道,肯定是卫擎风的人。&&&&而且,在对立的人数上,唐鹤涵这边偏弱,因为他手上还带着水翎羽。&&&&所以只能在暗处躲着,避开危险。&&&&然后让分散开来的安凌去开车。&&&&唐鹤涵护着水翎羽远离树林,朝路边走去。&&&&远远地就看到车子开了过来,打开车上先让水翎羽上去,在他准备上去的时候,一颗子弹打中了他,而他硬生生地接了下来,跟没事似的长了车。&&&&车子离开,后面的卫擎风的人还在追着。&&&&这边的路别说安凌不熟,唐鹤涵也不熟。&&&&但是卫擎风一伙人既然要算计他,这里肯定勘查过地形。这一点也对他们不利。&&&&不过他没有慌乱,只有水翎羽在怀里的安心。&&&&低下视线,在冥暗中,水翎羽乖巧地窝在他怀里,他知道,这样的乖巧是她受惊了,他是唯一能保护她的人。&&&&纵然是这样,唐鹤涵也有着片刻的满足。&&&&如果他们一起死在这里,是不是也挺好的?&&&&对于水翎羽来说,她愿意用这样的方式和他在一起么?&&&&他从来没有得到过水翎羽的心,有的只是在身体上的一次次填满以慰藉他空缺的心……&&&&迎面而来的灯光从车内穿透,紧接着车子失控,唐鹤涵一脚抵在前座,紧紧地搂着水翎羽。&&&&车子停下来了,但是却卡在了峭壁上。&&&&前半个车头悬空在悬崖,后半个车尾上翘着,随时都要栽进去,掉入深渊下的危险。&&&&里面三个人动都不敢动。&&&&一动,车子肯定会受到晃动,失去平衡地掉下去。&&&&“总裁,您和水翎羽***先下车。”安凌紧着声音说。&&&&“下面有多深?”唐鹤涵稳着问。&&&&“氙气灯的照s距离是一百五十米,这个高度不止一百五十米,因为下面都是黑的,看不到底。”&&&&“试着往后移动。”唐鹤涵沉着声音说。&&&&安凌先是躺下,然而刚躺平,车身就往下移动了下,吓得安凌立马静止不动了。&&&&“总裁,有难度。”&&&&唐鹤涵垂眸看着被他抱在怀里的水翎羽,黑眸里掩着黯沉的波动,深深地凝视着那紧闭着的眼睛。&&&&他应该试着让水翎羽出去……毕竟水翎羽的重量比较轻。&&&&“羽,试着打开旁边的车门,然后下去。”唐鹤涵声音低沉如磁般好听。&&&&“那……那你们呢?”
(天津小说网)
(快捷键:←) &&
(快捷键:→)
仅代表作家本人的观点,不代表网站立场,内容如果含有不健康和低俗信息,请联系我们进行删除处理!
,,,内容来源于互联网或由网友上传。版权归作者肉沫粉丝所有。如果您发现有任何侵犯您版权的情况,请联系我们,我们将支付稿酬或者删除。谢谢!

参考资料

 

随机推荐