2.选择呼叫转移
3.将呼叫转移开关打开,输入转移的目标号码即Tulaoshi.Com可
有条件下呼叫转移
但是如果需要在指定条件下才进行呼叫转移比如占线、无应答、关机/无信号这三种情况下分别进行呼叫转移的话则需要使用隐藏设置了
1.打开电话应用
2.如果需要设置无应答情况下的呼叫转移,则输入**61*转移到的目标号码*秒数#,如**61*13612345678*5#就表示5秒内不接通就转移到13612345678这个号码
3.再点击呼叫按钮即可显示呼叫转移成功提示
4.如果需要取消无应答时候的呼叫转移则输入取消转移指令##61*11#再点击呼叫按钮则会显示恢复成功
5.如果忘了当前转移到哪个号码,可以输入*#61#进行查询
6.如果需要设置关机或无信号情况下的呼叫转移,则输入**62*转移到的目标号码#,如**62*13612345678#就表示关机或无信号情况下就转移到13612345678这个号码,对应的查询指令则为*#62#,对应的取消转移指令则为##62*11#
7.如果需要设置占线情况下的呼叫转移,则输入**67*转移到的目标号码#,如**67*13612345678#就表示占线情况下就转移到13612345678这个号码,对应的查询指令则为*#67#,对应的取消转移指令则为##67*11#
8.当然,设置无条件下呼叫转移也可以使用指令来完成,*#21*13612345678#即可,对应的取消转移指令则为##21*11#
因为iPhone手机采用的触摸涉及,本身没有硬件键盘,一般都是点击输入框之后,弹出一个虚拟键盘出来,因此在iPhone开发中,经常在完成编辑输入之后,要写程序代码来关闭软键盘的输出,非常繁琐,当然关闭软键盘的方式有很多,比如放一个按钮在底层,通过点击屏幕的空白处来关闭键盘;也可以处理Return键盘事件来关闭键盘,这些暂且不说,本文要分享的是一个键盘顶部工具条的类,通过这个工具条,可以很方便的关闭键盘,而且有上一项,下一项的输入框切换,非常方便,效果请看下图:
类文件如下:
KeyBoardTopBar.h
//
// KeyBoardTopBar.h
//
//
// Created by walkman on 10-12-2.
// Copyright 2010 手机主题 http://www.shouji138.com All rights reserved.
//
#import
@interface KeyBoardTopBar : NSObject {
UIToolbar *view;//工具条
NSArray *TextFields;//输入框数组
BOOL allowShowPreAndNext;//是否显示上一项下一项
BOOL isInNavigationController;//是否在导航视图中
UIBarButtonItem *prevButtonItem;//上一项按钮
UIBarButtonItem *nextButtonItem;//下一项按钮
UIBarButtonItem *hiddenButtonItem;//隐藏按钮
UIBarButtonItem *spaceButtonItem;//空白按钮
UITextField *currentTextField;//当前输入框
}
@property(nonatomic,retain) UIToolbar *view;
-(id)init; //初始化
-(void)setAllowShowPreAndNext:(BOOL)isShow; //设置是否显示上一项下一项
-(void)setIsInNavigationController:(BOOL)isbool; //设置是否在导航视图中
-(void)setTextFieldsArray:(NSArray *)array; //设置输入框数组
-(void)ShowPrevious; //显示上一项
-(void)ShowNext; //显示下一项
-(void)ShowBar:(UITextField *)textField; //显示工具条
-(void)HiddenKeyBoard; //隐藏键盘
@end
KeyBoardTopBar.m 文件
//
// KeyBoardTopBar.m
//
// Created by walkman on 10-12-2.
// Copyright 2010 手机主题下载 http://www.shouji138.com All rights reserved.
//
#import "KeyBoardTopBar.h"
@implementation KeyBoardTopBar
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/isyjq/)@synthesize view;
//初始化控件和变量
-(id)init{
if(self = [super init]) {
prevButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"上一项" style:UIBarButtonItemStyleBordered target:self action:@selector(ShowPrevious)];
nextButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"下一项" style:UIBarButtonItemStyleBordered target:self action:@selector(ShowNext)];
hiddenButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"隐藏键盘" style:UIBarButtonItemStyleBordered target:self action:@selector(HiddenKeyBoard)];
spaceButtonItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem: UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
view = [[UIToolbar alloc] initWithFrame:CGRectMake(0,480,320,44)];
view.barStyle = UIBarStyleBlackTranslucent;
view.items = [NSArray arrayWithObjects:prevButtonItem,nextButtonItem,spaceButtonItem,hiddenButtonItem,nil];
allowShowPreAndNext = YES;
TextFields = nil;
isInNavigationController = YES;
currentTextField = nil;
}
return self;
}
//设置是否在导航视图中
-(void)setIsInNavigationController:(BOOL)isbool{
isInNavigationController = isbool;
}
//显示上一项
-(void)ShowPrevious{
if (TextFields==nil) {
return;
}
NSInteger num = -1;
for (NSInteger i=0; i[TextFields count]; i++) {
if ([TextFields objectAtIndex:i]==currentTextField) {
num = i;
break;
}
}
if (num0){
[[TextFields objectAtIndex:num] resignFirstResponder];
[[TextFields objectAtIndex:num-1 ] becomeFirstResponder];
[self ShowBar:[TextFields objectAtIndex:num-1]];
}
}
//显示下一项
-(void)ShowNext{
if (TextFields==nil) {
return;
}
NSInteger num = -1;
for (NSInteger i=0; i[TextFields count]; i++) {
if ([TextFields objectAtIndex:i]==currentTextField) {
num = i;
break;
}
}
if (num[TextFields count]-1){
[[TextFields objectAtIndex:num] resignFirstResponder];
[[TextFields objectAtIndex:num+1] becomeFirstResponder];
[self ShowBar:[TextFields objectAtIndex:num+1]];
}
}
//显示工具条
-(void)ShowBar:(UITextField *)textField{
currentTextField = textField;
if (allowShowPreAndNext) {
[view setItems:[NSArray arrayWithObjects:prevButtonItem,nextButtonItem,spaceButtonItem,hiddenButtonItem,nil]];
}
else {
[view setItems:[NSArray arrayWithObjects:spaceButtonItem,hiddenButtonItem,nil]];
}
if (TextFields==nil) {
prevButtonItem.enabled = NO;
nextButtonItem.enabled = NO;
}
else {
NSInteger num = -1;
for (NSInteger i=0; i[TextFields count]; i++) {
if ([TextFields objectAtIndex:i]==currentTextField) {
num = i;
break;
}
}
if (num0) {
prevButtonItem.enabled = YES;
}
else {
prevButtonItem.enabled = NO;
}
if (num[TextFields count]-1) {
nextButtonItem.enabled = YES;
}
else {
nextButtonItem.enabled = NO;
}
}
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
if (isInNavigationController) {
view.frame = CGRectMake(0, 201-40, 320, 44);
}
else {
view.frame = CGRectMake(0, 201, 320, 44);
}
[UIView commitAnimations];
}
//设置输入框数组
-(void)setTextFieldsArray:(NSArray *)array{
TextFields = array;
}
//设置是否显示上一项和下一项按钮
-(void)setAllowShowPreAndNext:(BOOL)isShow{
allowShowPreAndNext = isShow;
}
//隐藏键盘和工具条
-(void)HiddenKeyBoard{
if (currentTextField!=nil) {
[currentTextField resignFirstResponder];
}
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.3];
view.frame = CGRectMake(0, 480, 320, 44);
[UIView commitAnimations];
}
//释放
- (void)dealloc {
[view release];
[TextFields release];
[prevButtonItem release];
[nextButtonItem release];
[hiddenButtonItem release];
[currentTextField release];
[spaceButtonItem release];
[super dealloc];
}
@end
下面是使用这个类的代码:
在UIViewController头文件中申明,并定义,并且实现UITextFieldDelegate代理
比如:在keyboardtopbarViewController.h文件,我是这样写的
//
// keyboardtopbarViewController.h
// keyboardtopbar
//
// Created by walkman on 10-12-2.
// Copyright 2010 手机主题 http://www.shouji138.com All rights reserved.
//
#import
@class KeyBoardTopBar;
@interface keyboardtopbarViewController : UIViewController {
UITableView *tableview;
NSMutableArray *cellsTextArray;
NSMutableArray *editFieldArray;
UIButton *btnReg;
KeyBoardTopBar *keyboardbar;
CGRect rect;
}
在在UIViewController的m文件中,初始化,并添加到view中
- (void)viewDidLoad {
[super viewDidLoad];
......
//其中editFieldArray 是UITextField数组,在上面已经初始化,并添加了N个UITextField在里面。
//具体的代码请下载附件查看,这里只贴出了相关的代码
keyboardbar = [[KeyBoardTopBar alloc]init];
[keyboardbar setAllowShowPreAndNext:YES];
[keyboardbar setIsInNavigationController:NO];
[keyboardbar setTextFieldsArray:editFieldArray];
[self.view addSubview:keyboardbar.view];
}
//这个方法是UITextFieldDelegate代理中的方法,表示输入框开始处于编辑状态。
- (void)textFieldDidBeginEditing:(UITextField *)textField{
[keyboardbar ShowBar:textField]; //显示工具条
......
}
OK了,调用起来还是很方便吧,当然,这个类还有需要完善的地方,比如,在执行了HiddenKeyBoard方法隐藏了键盘和工具条之后,如果在调用页面时候需要再做进一步处理,目前是无法实现的,等下一个版本中再加入一个Delegate类。
更改UISwitch上的text
为要更改Text的UISwitch建立IB连接:例如mySwitch,在代码中改变文字:
((UILabel *)[[[[[[self.mySwitch subviews] lastObject] subviews] objectAtIndex:2] subviews] objectTulaoshi.comAtIndex:0]).text = @"Foo";
((UILabel *)[[[[[[self.mySwitch subviews] lastObject] subviews] objectAtIndex:2] subviews] objectAtIndex:1]).text = @"Bar";
苹果iPhone5s指纹识别不灵敏应该怎么办?
苹果iPhone5S延续了iPhone5的经典设计,但为了形成差异化,其Home键也采用了蓝宝石制成。另外新增加了金色版本,同时还提供了深空灰色以及银色版本机身尺寸方面。
另外iPhone5s还增加了指纹识别的功能。下面,我们就来看看如何解决指纹识别不灵敏的问题。
1、我们这里要用用到的方法,就是重置指纹识别数据。重置指纹识别数据,也就是进入指纹识别设置界面,把对于识别不灵敏的手指数据删除,然后再重新录入一个新的指纹数据。跟之前第一次设置指纹时一样,点击打开手机屏幕上的设置图标。
2、在设置列表中找到通用选项,点击打开。
3、在通用列表中,点击Touch ID和密码选项。
4、接下来输入锁定密码,点击完成继续。
5、随后请点击Touch ID选项。
6、在指纹识别设置界面中,在指纹识别不灵的手指一栏,向左滑动,点击删除即可。
7、随后我们再点击添加指纹选项。
8、然后重新进入手指指纹的录入,用手指轻触 Home 键,然后再离开 Home 键,直到录入完成。
9、录入完成以后,再次录入平时手指按 Home 键的边缘指纹。
10、指纹录入成功以后,点击继续按钮。
11、好了,在重置了指纹数据以后,我们可以试试新录入的指纹效果,比较一下是不是要比原来要好一些。另外值得注意的是,如果手指有汗液或是水的话,会影响识别。
注:更多精彩教程请关注图老师手机教程栏目,图老师手机数码群:296605639欢迎你的加入
//取得用户的电话本 代码
-(void)getUserAddressBook{
//reDic = {"7":"数码先锋","1":"最爱街拍"} //打开电话本数据库
ABAddressBookRef addressRef=ABAddressBookCreate();
//返回所有联系人到一个数组中
CFArrayRef personArray = ABAddressBookCopyArrayOfAllPeople(addressRef);
NSMutableDictionary *jsonDictionary = [[NSMutableDictionary alloc]init];
//循环读取每个联系人
for (int i =0;i p
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/isyjq/)//得到当前联系人
ABRecordRef personRef=CFArrayGetValueAtIndex(personArray, i); //==============================================================================
CFStringRef firstname=ABRecordCopyValue(personRef, kABPersonFirstNameProperty);
tulaoShi.comCFStringRef lastname=ABRecordCopyValue(personRef, kABPersonLastNameProperty);
//CFStringRef userPhone = ABRecordCopyValue(personRef,kABPersonPhoneProperty );
NSString *allName;if([firstname isEqualToString:@""]||firstname==nil){if([lastname isEqualToString:@""]||lastname==nil){
allName=@"空";
}
}else if([lastname isEqualToString:@""]||lastname==nil){allName=[NSString stringWithFormat:@"%@",firstname];
}else if([firstname isEqualToString:@""]||firstname==nil){allName=[NSString stringWithFormat:@"%@",lastname];
}else{
allName=[NSString stringWithFormat:@"%@+%@",firstname,lastname];
} // NSLog(@"%d===%@--%@.",i,(NSString*)firstname,(NSString*)lastname);//NSLog(@"allName=%@",allName); //============================================================================== // NSLog(@"%d===%@",i,(NSString*)userPhone); //用于循环计数 int j; //用于保存有多项的属性值 ABMultiValueRef values ; //==============================================================================
//循环读出该项的所有值,如果需要修改读出其它具有多项值的属性,只需修改KAB...Property //具有多项值的属性有电话,地址,email
values = (ABMultiValueRef) ABRecordCopyValue(personRef , kABPersonPhoneProperty);
//NSLog(@"values===%@",values);
NSString *getPhoneNum;
for(j = 0 ;j ABMultiValueGetCount(values); j++) {
getPhoneNum = [NSString stringWithFormat:@"%@", (NSString *)ABMultiValueCopyValueAtIndex(values, j)]; }if(ABMultiValueGetCount(values)==0){
getPhoneNum=@"空";
}//NSLog(@"getPhoneNum=====%@",getPhoneNum); // values = (ABMultiValueRef) ABRecordCopyValue(personRef , kABPersonEmailProperty);// for( j = 0 ;j ABMultiValueGetCount(values); j++)// { // NSLog(@"1-%@", (NSString *)ABMultiValueCopyValueAtIndex(values, j));// // }// // values = (ABMultiValueRef) ABRecordCopyValue(personRef , kABPersonAddressProperty);// for( j = 0 ;j ABMultiValueGetCount(values); j++)// { // NSLog(@"2-%@", (NSString *)ABMultiValueCopyValueAtIndex(values, j));// // }[jsonDictionary setObject:getPhoneNum forKey:allName] ; //============================================================================== }
//NSLog(@"addressbook=%@",jsonDictionary); NSString *str = [jsonDictionary JSONRepresentation];NSLog(@"str===%@",str); // NSString *d = [str JSONValue];[jsonDictionary release];
// NSString *str = [jsonDictionary JSONRepresentation];// NSMutableDictionary *d = [jsonDictionary JSONValue];// NSLog(@"%@" , [d description]); // [dlist release];//NSLog(@"addressbook=%@",jsonDictionary);}
iPhone翻页小技巧有哪些?
iPhone首5代系列的机型均使用9厘米(3.5英吋)LCD液晶体多点触控防刮玻璃显示屏,而iPhone5则增至4英吋。电容式触屏是专为一指或多指触控而设的多点触控感应。
平常大家使用苹果手机翻页想必都是向左或向右滑一下,其实有很多翻页方法。下面,我们就来看看苹果手机怎么翻页。
第一种这个大家都会的,就是直接在主界面左右滑动翻页。
第二种大家可以直接点击底部图标栏上代表不同界面的小圆点,就可以实现翻页。
第三种方法就是大家点击在底部图标栏和桌面壁纸的交界处两侧。
&nTulaoshi.combsp; 注:更多精彩教程请关注图老师手机教程栏目,图老师手机数码群:296605639欢迎你的加入
iPhone5s蓝屏是怎么回事?
蓝屏,英文名称BSOD(Blue Screen of Death)。从专业的角度讲,这一术语被定义为是指当Microsoft Windows崩溃或停止执行时所显示的蓝色屏幕。
而我们平常所说的系统崩溃或者内核错误抑或停止错误的专业术语为程序错误检查。
蓝屏可以指电脑也可以指手机。下面,我们就来看看如何解决苹果手机蓝屏重启故障。
方法一
1、在 iPhone 的主屏上找到设置图标,点击打开,如图所示。
iPhone5s蓝屏是怎么回事 如何解决蓝屏重启
2、在设置列表中找到iCloud选项,点击进入,如图所示。
iPhone5s蓝屏是怎么回事 如何解决蓝屏重启
3、在 iCloud 设置列表的底部找到文稿与数据选项,检查此开关是否打开。如果是打开状态,点击进入,如图所示。
iPhone5s蓝屏是怎么回事 如何解决tulaoshi.com蓝屏重启
4、随后关闭文稿与数据的开关。
如图所示。
iPhone5s蓝屏是怎么回事 如何解决蓝屏重启
5、随后系统会提示删除 iCloud 在此 iPhone 上的文稿与数据,点击关闭文稿按钮继续,如图所示。
iPhone5s蓝屏是怎么回事 如何解决蓝屏重启
6、然后再尝试使用 iWork 套件,看是否还会导致蓝屏重启。
方法二
1、当我们在使用 iWork 时,不要按主屏Home键直接退出应用程序,而是双击主屏Home按键打开后台多任务管理,如图所示。
iPhone5s蓝屏是怎么回事 如何解决蓝屏重启
2、这里以 iWork 中上的 Pages 为例,用手指向上滑动 Pages 的后台缩略图,关闭应用程序,如图所示。
iPhone5s蓝屏是怎么回事 如何解决蓝屏重启
3、随后再按主屏Home键,返回主屏就可以了。
注:更多精彩教程请关注图老师手机教程栏目,图老师手机数码群:296605639欢迎你的加入