目前分類:通訊類 (22)

瀏覽方式: 標題列表 簡短摘要

Custom-of-the-dialing-keyboard-screenshot  

程式碼下載


shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

首先重寫UITableViewCell的初始化方法:

- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
        // Initialization code
        self.photoView = [[UIImageView alloc] initWithFrame:CGRectMake(20, 5, 80, 80)];
        _photoView.layer.cornerRadius = 40;
        _photoView.layer.masksToBounds = YES;
        [self.contentView addSubview:_photoView];
        [_photoView release];
        
        self.nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(120, 5, 60, 35)];
        [self.contentView addSubview:_nameLabel];
        [_nameLabel release];
        
        self.ageLabel = [[UILabel alloc] initWithFrame:CGRectMake(200, 5, 40, 35)];
        [self.contentView addSubview:_ageLabel];
        [_ageLabel release];
        
        self.genderLabel = [[UILabel alloc] initWithFrame:CGRectMake(260, 5, 40, 35)];
        [self.contentView addSubview:_genderLabel];
        [_genderLabel release];
        
        self.phoneNumberLabel = [[UILabel alloc] initWithFrame:CGRectMake(120, 50, 200, 35)];
        [self.contentView addSubview:_phoneNumberLabel];
        [_phoneNumberLabel release];
    }
    return self;
}

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

01.CFErrorRef *error = nil;
02. 
03. 

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

一、在工程中添加AddressBook.framework和AddressBookUI.framework

 

獲取本機通訊錄中的內容,顯示在清單(table)中, iOS6之後,蘋果對系統中通訊錄日曆等控制項的調用進行了許可權控制,獲取通訊錄需加上請求許可權部分的代碼

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()


瞭解了Touch Event的類型與屬性之後,接下來就按照實作的原理來撰寫JavaScript,完成我們要防止的事件。其原理如下:

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

在androi中手機信號信息的獲取可以通過系統提供的TELEPHONY_SERVICE獲取

TelephonyManager tel = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);


TelephonyManager 可以監聽 PhoneStateListener, PhoneStateListener 提供了

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

- (BOOL)isMobileNumber:(NSString *)mobileNum

{

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

- (BOOL)isMobileNumber:(NSString *)mobileNum

{

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

  1. ABAddressBookRef addressBook = ABAddressBookCreate();
  2. peopleArray = (NSMutableArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);
  3. for (id *people in peopleArray)
  4. {
  5. ABMultiValueRef phones = (ABMultiValueRef) ABRecordCopyValue(people, kABPersonPhoneProperty);
  6. int nCount = ABMultiValueGetCount(phones);
  7. for(int i = 0 ;i < nCount;i++)
  8. {
  9. NSString *phonelLable    = (NSString *)ABMultiValueCopyLabelAtIndex(phones, i);
  10. NSString *phoneNO    = (NSString *)ABMultiValueCopyValueAtIndex(phones, i);  // 这个就是电话号码
  11. }
  12. }

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

Technical Q&A QA1495
Detecting phone numbers and links in an iPhone application
Q: How do I detect phone numbers and links in an iPhone application?

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

+ (NSMutableArray *) getAllContacts
{
    NSMutableArray *contactsArray = [[[NSMutableArray alloc] init] autorelease];
    NSMutableArray* personArray = [[[NSMutableArray alloc] init] autorelease];
    
    ABAddressBookRef addressBook = ABAddressBookCreate();
    NSString *firstName, *lastName, *fullName;
    personArray = (NSMutableArray *)ABAddressBookCopyArrayOfAllPeople(addressBook);
    
    Contacts *contact;
    for (id *person in personArray)
    {
        contact = [[Contacts alloc] init];     
        firstName = (NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty);
        firstName = [firstName stringByAppendingFormat:@" "];
        lastName = (NSString *)ABRecordCopyValue(person, kABPersonLastNameProperty);    
        fullName = [firstName stringByAppendingFormat:@"%@",lastName];
        contact.contactName = fullName;
        
        ABMultiValueRef phones = (ABMultiValueRef) ABRecordCopyValue(person, kABPersonPhoneProperty);
        for(int i = 0 ;i < ABMultiValueGetCount(phones); i++)
        {  
            NSString *phone = (NSString *)ABMultiValueCopyValueAtIndex(phones, i); 
            [contact.contactPhoneArray addObject:phone];
        }
        
        ABMultiValueRef mails = (ABMultiValueRef) ABRecordCopyValue(person, kABPersonEmailProperty);
        for(int i = 0 ;i < ABMultiValueGetCount(mails); i++)
        {  
            NSString *mail = (NSString *)ABMultiValueCopyValueAtIndex(mails, i); 
            [contact.contactMailArray addObject:mail];
        }        
        [contactsArray addObject:contact];   // add contact into array
        [contact release];
    }    
    return contactsArray;
}


shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

在工程中加入:
AddressBook.framework

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

iPhone中連絡人的資訊是存放在系統資料庫中的。資料庫中的每一筆記錄都是一個ABRecordRef實例。

  通訊錄主要存放兩種記錄:

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

- (BOOL) validateEmail: (NSString *) candidate {
    NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; 
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; 

    return [emailTest evaluateWithObject:candidate];
}


shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

這是 iOS 4.0 以後才公開的介面,用於捕獲 iPhone 通話事件,這樣有助於開發者在應用裡添加靠電話播出或接入來觸發的功能,比如電話錄音。代碼介紹如下
CTCallCenter *center = [[CTCallCenter alloc] init];
center.callEventHandler = ^(CTCall *call) {

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

我們知道可以使用這樣的代碼在iphone中發送短信:

[[UIApplication sharedApplication] openURL:@"sms:12345678"];

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

CFErrorRef error = NULL;
bool result;

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

+ (void)alert:(NSString *)msg
{
    UIAlertView *alertView = [[[UIAlertView alloc] initWithTitle:msg message:@"" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil] autorelease];

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

//MFMessageComposeViewController 只在ios 4.0 后可用

Class smsClass = NSClassFromString(@”MFMessageComposeViewController”);

if (smsClass != nil)

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

 

ios提供了对通讯录操作的组建,其中一个是直接操作通讯录,另一个是调用通讯录的UI组建。实现方法如下:

添加AddressBook.framework到工程中。

image

代码实现:

shadow 發表在 痞客邦 PIXNET 留言(0) 人氣()

1 2