实现在iOS 8键盘扩展自动更正选项在哪问题,怎么解决

此版本中的新功能 &
- 现在,您可以创建自己的键盘在任何地方使用您的手机上!
- 选择从我们的数以千计的色彩和图像的主题图书馆。
- 上传照片和GIF动画,自定义键盘的颜色和它个性化自己的风格...
- 现在,您可以创建自己的键盘在任何地方使用您的手机上!
- 选择从我们的数以千计的色彩和图像的主题图书馆。
- 上传照片和GIF动画,自定义键盘的颜色和它个性化自己的风格!
- 所有的键盘具有自动更正!
尚无分享截图
GifBoard中国的Gif键盘适用于iOS8 - 免费动画色彩的键盘制造商和Instakey编辑器与自动更正 的评论&&
暂无点评,!
喜欢TA的人常去的小组
订阅GifBoard中国的Gif键盘适用于iOS8 - 免费动画色彩的键盘制造商和Instakey编辑器与自动更正的评论:插入自定义按钮前:
插入自定义按钮后:
相信大家在网上都看过了不少为自定义按钮的方法了,所以方法的具体含义这里就不详细解释了,因为我也不是很懂,这里我就直接讲实现吧。
首先第一步:
在viewdidLoad函数中添加observer,监听键盘弹出事件,代码如下:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillShow:) name:UIKeyboardWillShowNotification object:nil ]; 其中keyboardWillShow:是自己是实现的,当程序监听到键盘弹出事件后执行的响应程序。UIKeyboardWillShowNotification则是Xcode的宏定义,表示键盘弹出事件。
实现响应函数,代码如下(抄袭后修改):
- (void)keyboardWillShow:(NSNotification *)note
if(UI_USER_INTERFACE_IDIOM()!=UIUserInterfaceIdiomPad){
//NSArray *ws = [[UIApplication sharedApplication] windows];
if (self.rateTextField.keyboardType != UIKeyboardTypeNumberPad){
// locate keyboard view
UIWindow* tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
CGRect appRect=[[UIScreen mainScreen] applicationFrame];
for(int i=0; i&[tempWindow.subviews count]; i++) {
keyboard = [tempWindow.subviews objectAtIndex:i];
// add the custom button to it
if(([[keyboard description] hasPrefix:@&&UIPeripheralHostView&] == YES)||
[[keyboard description] hasPrefix:@&&UIKeyboard&] == YES||
[[keyboard description] hasPrefix:@&&UIInputSetContainerView&]==YES)
{//this line is for ios8
CGRect frame = CGRectMake(0.0f, 162.0f, 106.0f, 53.0f);
if ([[[UIDevice currentDevice] systemVersion] floatValue] &= 8.0) {
frame = CGRectMake(0, appRect.size.height-33, 106.0f, 53.0f);
self.numKeyBoardBtn = [UIButton buttonWithType:UIButtonTypeSystem];
[self.numKeyBoardBtn setTitle:@&完成& forState:UIControlStateNormal];
[self.numKeyBoardBtn setFrame:frame];
[keyboard addSubview:self.numKeyBoardBtn];
其中self.rateTextField是自定义的textField,self.numKeyBoardBtn就是键盘需要加上去的按钮,这里把它作为类的成员,目的是为了等下键盘退回的时候能方便调用到它把它移出掉。而代码中3个keyboard description内容的判断就是用来适配不同版本的,具体哪个对应哪个版本可自行网上查。
至此,添加自定义按钮的代码就实现了 (对了,前提是还要自己把keyboardType设置成数字键盘),在ios8上运行,确实可以有了自定义的按钮,但是,效果非常的恶心。每次点击textField,纯数字键盘弹出的时候,都会看到按钮的“完成”字样,是从屏幕中间滑下来的,看起来非常的碍眼。而且,当把sdk的版本切换为7.1的时候,按钮直接就不出来了。查了很多方法,才开到一个说法是:什么键盘的view会在下一个event loop才会出现,所以要delay什么的,具体的看原作者的文章(文章说的事老到掉牙的ios4,我无奈之下才试了他的方法),http://blog.csdn.net/z/article/details/7996197
好的,按照文章的说,修改代码,把observer的代码改成如下:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardShowOnDelay) name:UIKeyboardWillShowNotification object:nil ]; 这里修改了响应函数。
然后实现keyboardShowOnDelay,代码如下:
- (void) keyboardShowOnDelay
[self performSelector:@selector(keyboardWillShow:) withObject:nil afterDelay:0];
这里代码的具体含义我也不懂,只是仿造大神的方法。
做了如上的修改后,以上的两个问题都解决了。按钮不会滑动出现,ios7的按钮也可以出现了,大家可以试试。
本文已收录于以下专栏:
相关文章推荐
有的app要求校验身份证号,键盘只能输入数字和X符号,所以要定制键盘,目前有两种方法。
两种方法,一种是改造系统键盘在上面添加button,另...
IOS 、数字软键盘、自定义安全键盘
Android提供KeyboardView可以让用户实现对软键盘的自定义;具体的定义数字键盘,还是字符键盘可以按照自己的需求进行定制;
本文提供数字键盘的自定义实现,并解决软键盘按下后review背景...
最近要在系统弹出的数字键盘上的左下角额外添加一个自定制的完成按钮,于是研究了一下系统自带键盘添加自定制按钮的实现方式。总结了一下大体上的通用做法,原理大概是这样:当页面上的文本框或其他输入源因为用户的...
他的最新文章
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)iOS8定位问题解决方案
1、修改info
新增Key:NSLocationAlwaysUsageDescription和NSLocationWhenInUseUsageDescription,这两个Key的值将分别用于描述应用程序始终使用和使用期间使用定位的说明,这些说明将显示在用户设置中。
info新增键值对如下:
应用程序说明参见微信:
2、CLLocationManager初始化
iOS8CLLocationManager新增实例方法requestWhenInUseAuthZ喎"/kf/ware/vc/" target="_blank" class="keylink">vcml6YXRpb266zXJlcXVlc3RBbHdheXNBdXRob3JpemF0aW9uo6zQ6NKq1Nqz9cq8u6/Ksbj5vt3Q6NKqtffTw6GjCjxoMj4KPHA+CjwvcD4KPHByZSBjbGFzcz0="brush:">if([CLLocationManager locationServicesEnabled]){
self.locationManage = [[[CLLocationManager alloc] init] autorelease];
self.locationManage.delegate =
self.locationManage.distanceFilter = 200;
self.locationManage.desiredAccuracy = kCLLocationAccuracyBestForN//kCLLocationAccuracyB
if (SYSTEM_VERSION >= 8.0) {
//使用期间
[self.locationManage requestWhenInUseAuthorization];
//or [self.locationManage requestAlwaysAuthorization]
新增下面的代理方法:
- (void)locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
switch (status) {
case kCLAuthorizationStatusNotDetermined:
if ([self.locationManage respondsToSelector:@selector(requestAlwaysAuthorization)])
[self.locationManage requestWhenInUseAuthorization];再正式开始之前,先来介绍一下IOS的键盘类型:
一、键盘风格 &&
UIKit框架支持8种风格键盘
typedef enum {
UIKeyboardTypeDefault,
// 默认键盘:支持所有字符
UIKeyboardTypeASCIICapable,
// 支持ASCII的默认键盘
UIKeyboardTypeNumbersAndPunctuation,
// 标准电话键盘,支持+*#等符号
UIKeyboardTypeURL,
// URL键盘,有.com按钮;只支持URL字符
UIKeyboardTypeNumberPad,
//数字键盘
UIKeyboardTypePhonePad,
// 电话键盘
UIKeyboardTypeNamePhonePad,
// 电话键盘,也支持输入人名字
UIKeyboardTypeEmailAddress,
// 用于输入电子邮件地址的键盘
} UIKeyboardT
用法用例:
textView.keyboardtype =&UIKeyboardTypeNumberP
二、键盘外观
typedef enum {
UIKeyboardAppearanceDefault,
// 默认外观:浅灰色
UIKeyboardAppearanceAlert,
//深灰/石墨色
} UIKeyboardA
用法用例:
textView.keyboardAppearance=UIKeyboardAppearanceDefa
三、回车键
用法用例:
textView.returnKeyType=UIReturnKeyGo;
四、自动大写
typedef enum {
UITextAutocapitalizationTypeNone, //不自动大写
UITextAutocapitalizationTypeWords, //单词首字母大写
UITextAutocapitalizationTypeSentences, //句子首字母大写
UITextAutocapitalizationTypeAllCharacters, //所有字母大写
} UITextAutocapitalizationT
用法用例:
textField.autocapitalizationType&=&UITextAutocapitalizationTypeWords;
五、自动更正
typedef enum {
UITextAutocorrectionTypeDefault,//默认
UITextAutocorrectionTypeNo,//不自动更正
UITextAutocorrectionTypeYes,//自动更正
} UITextAutocorrectionT
用法用例:
textField.autocorrectionType&=&UITextAutocorrectionTypeYes;
六、安全文本输入
textView.secureTextEntry=YES;
开启安全输入主要是用于密码或一些私人数据的输入,此时会禁用自动更正和自此缓存。
以上内容都可以在 inspector中设置:
在 iOS 程序中当想要在文本框中输入数据,轻触文本框会打开键盘。对于 iPad 程序,其键盘有一个按钮可以用来关闭键盘,但是 iPhone 程序中的键盘却没有这样的按钮,不过我们可以采取一些方法关闭它。例如,我们可以实现按下 Rerun (有时也是 Done、Research 等)键关闭键盘,或者,更人性化的,轻触背景关闭键盘。
1、首先讲一下按下Return键关闭键盘。
当按下键盘的 Return 键,会产生一个 Did End On Exit 事件,此时,我们告诉文本框要放弃控件,于是键盘就消失了。
假设,我们已经创建了一个 Single View Application ,并打开 ViewController.xib 文件,在 View 上拖上去了三个 Text Field ,然后,我们把这三个文本框映射到 ViewController.h 中,名称依次是 firstField、secondField 以及 thirdField 。如下图:
(1)在 ViewController.h 中声明一个方法:
- (IBAction)textFiledReturnEditing:(id)(2)在 ViewController.m 中实现这个方法:
-(IBAction)textFiledReturnEditing:(id)sender {
[sender resignFirstResponder];
让这三个文本框都映射到 textFiledReturnEditing 方法,不过此时的事件应当是 Did End On Exit ,具体操作是:
打开 Assistant Editor& ,左边打开 ViewController.xib ,右边打开 ViewController.h ,在 Xcode 最右边打开 Connector Inspector ,然后在 View 中选择第一个文本框,在 Connector Inspector 中找到 Did End On Exit ,从它右边的圆圈中拉出映射线,映射到 ViewController.h 的 textFiledReturnEditing 方法,如下图:
给其他两个文本框进行同样的操作。现在,已经实现了轻触 Return 键关闭键盘。
2、下面介绍轻触背景关闭键盘。
(1)在 ViewController.h 文件中添加方法声明代码:
- (IBAction)backgroundTap:(id)(2)在ViewController.m中实现这个方法:
- (IBAction)backgroundTap:(id)sender {
[firstField resignFirstResponder];
[secondField resignFirstResponder];
[thirdField resignFirstResponder];
(3)让 View 映射到这个方法,不过事先,我们先要改变 View 的类型。
打开xib,选中 View ,打开 Identity Inspector ,在 class 中选择 UIControl :
4)打开Assistant Editor ,左边打开 ViewController.xib ,右边打开 ViewController.h ,在Xcode最右边打开 Connector Inspector ,在 ViewController.xib 中选择 Control ,在 Connector Inspector 中找到 Touch Down ,从它右边的圆圈中拉出映射线,映射到 ViewController.h 的 backgroundTap 方法,如下图:
运行结果:
打开键盘之后,在背景区域点击一下,键盘就会向下收起来。
三.解决虚拟键盘挡住UITextField的方法
因为屏幕太小的缘故,一个键盘跳出来总是把输入框挡住,所以需要移动屏幕来匹配键盘
#pragma mark -
#pragma mark 解决虚拟键盘挡住UITextField的方法
- (void)keyboardWillShow:(NSNotification *)noti
//键盘输入的界面调整
//键盘的高度
float height = 216.0;
CGRect frame = self.view.
frame.size = CGSizeMake(frame.size.width, frame.size.height - height);
[UIView beginAnimations:@&Curl&context:nil];//动画开始
[UIView setAnimationDuration:0.30];
[UIView setAnimationDelegate:self];
[self.view setFrame:frame];
[UIView commitAnimations];
-(BOOL)textFieldShouldReturn:(UITextField *)textField
// When the user presses return, take focus away from the text field so that the keyboard is dismissed.
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);
//CGRect rect = CGRectMake(0.0f, 20.0f, self.view.frame.size.width, self.view.frame.size.height);
self.view.frame =
[UIView commitAnimations];
[textField resignFirstResponder];
return YES;
- (void)textFieldDidBeginEditing:(UITextField *)textField
CGRect frame = textField.
int offset = frame.origin.y + 32 - (self.view.frame.size.height - 216.0);//键盘高度216
NSTimeInterval animationDuration = 0.30f;
[UIView beginAnimations:@&ResizeForKeyBoard& context:nil];
[UIView setAnimationDuration:animationDuration];
float width = self.view.frame.size.
float height = self.view.frame.size.
if(offset & 0)
CGRect rect = CGRectMake(0.0f, -offset,width,height);
self.view.frame =
[UIView commitAnimations];
#pragma mark -
只要在代码中加入这三个文件,然后将自身delegate
控制器添加UITextFieldDelegate
@interface ViewController : UIViewController&UITextFieldDelegate&在viewDidLoad中添加:
- (void)viewDidLoad
[super viewDidLoad];
self.firstTextField.delegate=
self.secondTextField.delegate=
self.thirdTextField.delegate=
但是这里经常会有屏幕移动后不能返回的问题,这里的解决方案就是
- (IBAction)backgroundTap:(id)sender {
[self.firstTextField resignFirstResponder];
[self.secondTextField resignFirstResponder];
[self.thirdTextField 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 =
在backgroundTap函数中添加这些代码,这样屏幕就会返回正常了。
运行结果:
例子下载链接
本文已收录于以下专栏:
相关文章推荐
应用中,跟用户交互功能必不可少!
处理键盘的显示/隐藏可能会比较苦恼,尤其在iOS8出来之后,开放了键盘接口,允许使用第三方输入法,从而导致了键盘事件处理的错综复杂。比如说,像百度输入法,键盘右...
在通常情况下,我们使用UITextField空间来完成输入,点击编辑区域,键盘自动出现,点击Done按钮,键盘自动消失。如果用代码来控制,则是使用becomeFirstResponder和resign...
iOS上面对键盘的处理很不人性化,所以这些功能都需要自己来实现,
首先是点击return和屏幕隐藏键盘
这个首先引用双子座的博客 http://my.oschina.net/plumsof...
转自:http://blog.csdn.net/xiaotanyu13/article/details/7711954
如有侵犯,请来信
oiken说: 我用了功能...
手机端IOS系统微信中虚拟键盘遮挡input输入框问题解决方案
虚拟键盘弹出挡住textfield的问题,在网上搜出一大堆。但是很多方案也只是在某种情况下能满足我们的需求。
之前的做法是根据int offset = textfield.frame.origin.y...
在iOS上出现软键盘后,希望点击非键盘部分,隐藏键盘,即使键盘消失的方法讨论。
第一种方法:增加一个button,相应touch down事件,隐藏键盘。这种方法,太山寨了。为了相应一个事件增加一个...
之前在 在iOS虚拟键盘上添加动态隐藏按钮一文中描叙了关于键盘上添加动态按钮的操作,发现键盘上的按钮显示出来的时候很僵硬,此处做了改进,添加了动画过渡,更换了图片,能够让人感觉按钮是随着键盘的动画显示...
是这样的,现在有一个这样的页面:
这个页面刚好一屏幕大小,所以没有滚动条,因为“保存”键上面那个项目备注是需要用户去填写的,当他点击后就会出现虚拟键盘,但安卓手机弹出键盘会遮...
在学习编程的过程中,我觉得不止要获得课本的知识,更多的是解决问题的方法,面对新问题该怎么解决,这样我们才能走在最前方,我是达内的学员,感谢你对本博客的支持;
  最近转入ios开发,发现ios的UI...
他的最新文章
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)移动端开发仿app头部底部固定设置position:fixed,android2.2以上已经实现。但是在ios8以下系统,当小键盘激活时,都会出现位置浮动问题。如图:
如何解决:
查阅资料之后想到一下几种解决方法
1,使用position:absolute模拟
&script type=&text/javascript&&
& & window.onscroll=function(){
& & $(&.fixed&).css(&top&,$(window).scrollTop());
& &$(&.foot&).css(&top&,$(window).scrollTop()+$(window).height());
问题来了:滑动页面时头部底部div会有明显的抖动。
2,判断当前获得焦点元素是input则隐藏div改为position:absolute
&body onload=setInterval(&a()&,500)&
&script type=&text/javascript&&
& function a(){
& & if(document.activeElement.tagName == 'INPUT'){ & &
& & & $(&.fixed&).css({'position': 'absolute','top':'0'});&
& & & &} else { &
& & & & &$(&.fixed&).css('position', 'fixed'); &
& &/script&
问题来了:不停监控dom,消耗资源。如果input个数较少,可在input里面添加onfocus事件好一些。但是如果是底部固定div此方法好像不太给力。
3,插件iscroll.js个人感觉不是很好用。可能方法不对,jQuery
Mobile &没尝试,感觉会增负担。
4,重点来了:
只需要在中间部分外层div添加css样式position:top:50 bottom:50overflow:就可以实现效果,无需插件。可拷贝下面代码运行。
&!DOCTYPE html&
&html lang=&zh_cmn&&
&meta charset=utf-8 /&
&meta http-equiv=&X-UA-Compatible& content=&IE=edge,chrome=1& /&
&meta name=&viewport& content=&width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0& /&
&title&&/title&
.head,.foot{position:left:0;height:38line-height:38width:100%;background-color:#99CC00;}
.head{top:0;}
.foot{bottom:0;}
.main{position:top:38bottom:38width:100%;overflow:background-color:#BABABA;}
&header class=&head&&顶部固定区域&/header&
&article class=&main& &id=&wrapper&& &
& & &&p&当内容欲出隐藏时,灰色区域可上下拖动&/p&
& & &p&当内容欲出隐藏时,灰色区域可上下拖动&/p&
& & &&p&当内容欲出隐藏时,灰色区域可上下拖动&/p&
& & &&p&当内容欲出隐藏时,灰色区域可上下拖动&/p&
& & &&p&当内容欲出隐藏时,灰色区域可上下拖动&/p&
& & &&p&当内容欲出隐藏时,灰色区域可上下拖动&/p&
& & &&p&当内容欲出隐藏时,灰色区域可上下拖动&/p&
& & &&p&当内容欲出隐藏时,灰色区域可上下拖动&/p&
& & &&p&当内容欲出隐藏时,灰色区域可上下拖动&/p&
& & &&p&当内容欲出隐藏时,灰色区域可上下拖动&/p&
& & &&p&当内容欲出隐藏时,灰色区域可上下拖动&/p&
& & &input type=&text& value=&& class=&inputtext&& &br&
& & && &&input type=&text& value=&& class=&inputtext&& &br&
& &&input type=&text& value=&& class=&inputtext&& &br&
& &&input type=&text& value=&& class=&inputtext&& &br&
& & &&input type=&text& value=&& class=&inputtext&& &br&
& & &&input type=&text& value=&& class=&inputtext&& &br&
& & &input type=&text& value=&& class=&inputtext&& &br&
& & &input type=&text& value=&& class=&inputtext&& &br&
& & &input type=&text& value=&& class=&inputtext&& &br&
& & &&input type=&text& value=&& class=&inputtext&& &br&
& & &&input type=&text& value=&& class=&inputtext&& &br&
& & &&input type=&text& value=&& class=&inputtext&& &br&
& & &&input type=&text& value=&& class=&inputtext&& &br&
& & &&input type=&text& value=&& class=&inputtext&& &br&
& & &&input type=&text& value=&& class=&inputtext&& &br&
& & &&input type=&text& value=&& class=&inputtext&& &br&
& & &&input type=&text& value=&& class=&inputtext&& &br&
& & &&input type=&text& value=&& class=&inputtext&& &br&
& & &&input type=&text& value=&& class=&inputtext&& &br&
& &&input type=&text& value=&& class=&inputtext&& &br&
& &&input type=&text& value=&& class=&inputtext&& &br&
& & &&input type=&text& value=&& class=&inputtext&& &br&
& & &&input type=&text& value=&& class=&inputtext&& &br&
& & &input type=&text& value=&& class=&inputtext&& &br&
& & &input type=&text& value=&& class=&inputtext&& &br&
& &&input type=&text& value=&& class=&inputtext&& &br&
& & &&input type=&text& value=&& class=&inputtext&& &br&
& & &&input type=&text& value=&& class=&inputtext&& &br&
& & &input type=&text& value=&& class=&inputtext&& &br&
& & &input type=&text& value=&& class=&inputtext&& &br&
& &&input type=&text& value=&& class=&inputtext&& &br&
& &input type=&text& value=&& class=&inputtext&& &br&
& &input type=&text& value=&& class=&inputtext&& &br&
& & &input type=&text& value=&& class=&inputtext&& &br&
& &&input type=&text& value=&& class=&inputtext&& &br&
& &&input type=&text& value=&& class=&inputtext&& &br&
& & &input type=&text& value=&& class=&inputtext&& &br&
& & &input type=&text& value=&& class=&inputtext&& &br&
& & &input type=&text& value=&& class=&inputtext&& &br&
& & &input type=&text& value=&& class=&inputtext&& &br&
& & &input type=&text& value=&& class=&inputtext&& &br&
& & &input type=&text& value=&& class=&inputtext&& &br&
& & &input type=&text& value=&& class=&inputtext&& &br&
& & &&input type=&text& value=&& class=&inputtext&& &br&
& & &input type=&text& value=&& class=&inputtext&& &br&
& & &input type=&text& value=&& class=&inputtext&& &br&
& & &content &br&
& & content &br&
& & content &br&
& & content &br&
& & content &br&
& & content &br&
& & content &br&
& & content &br&
& & content &br&
&/article&
&footer class=&foot&&底部固定区域&/footer&
&当小键盘出现时头部、底部自动跳到页面最顶端、最底端。键盘隐藏时又会固定在头部,底部。顿时感觉开朗了
本文已收录于以下专栏:
相关文章推荐
1.-webkit-overflow-scroll:
2.使用其他布局方式
在ios上做了一个简单的页面头部置顶底部置顶源码如下:
margin: 0;
原文地址:/mobile/mobile-terminal-refactoring-mobile-layout.html
一般来说,header...
最近在使用AmazeUI进行仿App Mobile Web开发时遇到了讨论众多的position:fixed问题。position:fixed在安卓2.2以上已经实现,但是在ios8以下系统当小键盘激...
做touchweb开发的时候,做头疼的是,电脑上面时候好的,有些手机上面也是好的,个别手机和浏览器出现问题,对于这些,只能慢慢调试,找问题。
今天说一下比较老的IOS的问题,那就是“iOS下的 ...
ios对于fixed属性不兼容的解决方案
在做项目的时候,突然遇到了这样一个问题:JS的input框position:fixed属性在iOS上失效的。原因如下:
当设置了input定位属性为fixed时,页面上同时添加了滑动事...
IOS系统对position:fixed支持不好的bug
position:无效
这几天做了一个手机端的demo(滑动推屏的那种),在底部放了一个div,position:fixed,bottom:0.
为了让动画性能更加,在body上加上了transform:translate...
他的最新文章
讲师:董岩
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 三星扩展坞折叠键盘 的文章

 

随机推荐