真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

ios開發(fā)相機,ios開發(fā)相機圖像銳度

iOS開發(fā)中遇到的小問題-----總結

1、統(tǒng)一收鍵盤的方法

成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設、高性價比昆山網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式昆山網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設找我們,業(yè)務覆蓋昆山地區(qū)。費用合理售后完善,十載實體公司更值得信賴。

[[[UIApplication sharedApplication] keyWindow] endEditing:YES];

2、提示框

BBAlertView *alert = [[BBAlertView alloc] initWithStyle:BBAlertViewStyleDefault

Title:@"刪除訂單"

message:@"是否刪除訂單,"

customView:nil

delegate:self

cancelButtonTitle:L(@"取消")

otherButtonTitles:L(@"確認")];

[alert setCancelBlock:^{

}];

[alert setConfirmBlock:^{

[self orderDidRemovePressDown:tempDic Index:index.section];

}];

[alert show];

3、圖片的自適應功能

self.brandImage.contentMode = UIViewContentModeScaleAspectFit;

4、cocoaPods清除緩存問題

$ sudo rm -fr ~/.cocoapods/repos/master

$ pod setup

5、設置顯示鍵盤的樣式

textView.keyboardType =UIKeyboardTypeDefault;

//設置鍵盤右下角為完成(中文輸入法下)

textView.returnKeyType=UIReturnKeyDone;

6、輸出當前時間

NSDateFormatter * dateFormatter=[[NSDateFormatter alloc]init];

[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss.SSS"];

NSLog(@"當前毫秒時間1==%@",[dateFormatter stringFromDate:[NSDate date]]);

7、顯示兩秒然后消失

UILabel * lab=[[UILabel alloc]initWithFrame:CGRectMake(60,Main_Screen_Height-64-49-60, Main_Screen_Width-120, 50)];

lab.backgroundColor=[UIColor grayColor];

ViewRadius(lab, 20);

lab.textAlignment=NSTextAlignmentCenter;

lab.text=@"請先進行實名制驗證";

[self.view addSubview:lab];

[UILabel animateWithDuration:2 animations:^{

lab.alpha=0;

}completion:^(BOOL finished) {

[lab removeFromSuperview];

}];

8、設置placeholder屬性的大小和顏色

[_phoneFie setValue:[UIColor grayColor] forKeyPath:@"_placeholderLabel.textColor"];

[_phoneFie setValue:[UIFont boldSystemFontOfSize:15] forKeyPath:@"_placeholderLabel.font"];

_phoneFie.returnKeyType=UIReturnKeyDone;

9、設置cell的交互完全不可以使用

//[cellTwo setUserInteractionEnabled:NO];

//設置cell不可以點擊,但是上面的子控件可以交互

cellTwo.selectionStyle=UITableViewCellSelectionStyleNone;

10、將textField的placeholder 屬性的字體向右邊移動5

_field.leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10*Width_375, _field.frame.size.height)];

_field.leftViewMode = UITextFieldViewModeAlways;

11、開新線程使按鈕上的時間變化

-(void)startTime{

__block int timeout=60; //倒計時時間

UIButton * btn=(UIButton *)[self.view viewWithTag:1000];

dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);

dispatch_source_t _timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0,queue);

dispatch_source_set_timer(_timer,dispatch_walltime(NULL, 0),1.0*NSEC_PER_SEC, 0); //每秒執(zhí)行

dispatch_source_set_event_handler(_timer, ^{

if(timeout=0){

dispatch_source_cancel(_timer);

dispatch_async(dispatch_get_main_queue(), ^{

[btn setTitle:@"發(fā)送驗證碼" forState:UIControlStateNormal];

btn.enabled = YES;

});

}else{

//? int minutes = timeout / 60;

int miao = timeout % 60;

if (miao==0) {

miao = 60;

}

NSString *strTime = [NSString stringWithFormat:@"%.2d", miao];

dispatch_async(dispatch_get_main_queue(), ^{

[btn setTitle:[NSString stringWithFormat:@"剩余%@秒",strTime] forState:UIControlStateNormal];

btn.enabled = NO;

});

timeout--;

}

});

dispatch_resume(_timer);

}

12、隱藏TableView 中多余的行

UIView * view=[[UIView alloc]initWithFrame:CGRectZero];

[_tabelView setTableFooterView:view];

13、UIView添加背景圖片

UIImage * image=[UIImage imageNamed:@"friend750"];

headSeV.layer.contents=(id)image.CGImage;

14、UITableView取消選中狀態(tài)

[tableView deselectRowAtIndexPath:indexPath animated:YES];// 取消選中

15、帶屬性的字符串

NSFontAttributeName? 字體

NSParagraphStyleAttributeName? 段落格式

NSForegroundColorAttributeName? 字體顏色

NSBackgroundColorAttributeName? 背景顏色

NSStrikethroughStyleAttributeName 刪除線格式

NSUnderlineStyleAttributeName? ? ? 下劃線格式

NSStrokeColorAttributeName? ? ? ? 刪除線顏色

NSStrokeWidthAttributeName 刪除線寬度

NSShadowAttributeName? 陰影

1.? 使用實例

UILabel *testLabel = [[UILabel alloc]initWithFrame:CGRectMake(0, 100, 320, 30)];

testLabel.backgroundColor = [UIColor lightGrayColor];

testLabel.textAlignment = NSTextAlignmentCenter;

NSMutableAttributedString *AttributedStr = [[NSMutableAttributedString alloc]initWithString:@"今天天氣不錯呀"];

[AttributedStr addAttribute:NSFontAttributeName

value:[UIFont systemFontOfSize:16.0]

range:NSMakeRange(2, 2)];

[AttributedStr addAttribute:NSForegroundColorAttributeName

value:[UIColor redColor]

range:NSMakeRange(2, 2)];

testLabel.attributedText = AttributedStr;

[self.view addSubview:testLabel];

16、加大按鈕的點擊范圍

把UIButton的frame 設置的大一些,然后給UIButton設置一個小些的圖片

[tmpBtn setImageEdgeInsets:UIEdgeInsetsMake(5, 5, 5, 5)];

// 注意這里不能用setBackgroundImage

[tmpBtn setImage:[UIImage imageNamed:@"testBtnImage"] forState:UIControlStateNormal];

17、//避免self的強引用

__weak ViewController *weakSelf = self;

18、//類別的創(chuàng)建

command +n ——Objective-C File———(File Type? 選擇是類別還是擴展)———(Class? 選擇為哪個控件寫類別)

19、修改UITableview 滾動條顏色的方法

self.tableView.indicatorStyle=UIScrollViewIndicatorStyleWhite;

20、利用UIWebView顯示pdf文件

webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 0, 320, 480)];

[webView setDelegate:self];

[webView setScalesPageToFit:YES];

[webViewsetAutoresizingMask:UIViewAutoresizingFlexibleWidth |UIViewAutoresizingFlexibleHeight];

[webView setAllowsInlineMediaPlayback:YES];

[self.view addSubview:webView];

NSString *pdfPath = [[NSBundle mainBundle]pathForResource:@"ojc" ofType:@"pdf"];

NSURL *url = [NSURLfileURLWithPath:pdfPath];

NSURLRequest *request = [NSURLRequestrequestWithURL:url

cachePolicy:NSURLRequestUseProtocolCachePolicy

timeoutInterval:5];

[webView loadRequest:request];

21、將plist文件中的數(shù)據(jù)賦給數(shù)組

NSString *thePath = [[NSBundle mainBundle]pathForResource:@"States" ofType:@"plist"];

NSArray *array = [NSArrayarrayWithContentsOfFile:thePath];

22、隱藏狀態(tài)欄

[[UIApplication shareApplication]setStatusBarHidden: YES animated:NO];

23、給navigation? Bar? 設置title顏色

UIColor *whiteColor = [UIColor whiteColor];

NSDictionary *dic = [NSDictionary dictionaryWithObject:whiteColor forKey:NSForegroundColorAttributeName];

[self.navigationController.navigationBar setTitleTextAttributes:dic];

24、使用AirDrop 進行分享

NSArray *array = @[@"test1", @"test2"];

UIActivityViewController *activityVC = [[UIActivityViewController alloc] initWithActivityItems:array applicationActivities:nil];

[self presentViewController:activityVC animated:YES

completion:^{

NSLog(@"Air");

}];

25、把tableview里面Cell的小對勾的顏色改成別的顏色

_mTableView.tintColor = [UIColor redColor];

26、UITableView去掉分割線

_tableView.separatorStyle = NO;

27、正則判斷手機號碼地址格式

- (BOOL)isMobileNumber:(NSString *)mobileNum {

//? ? 電信號段:133/153/180/181/189/177

//? ? 聯(lián)通號段:130/131/132/155/156/185/186/145/176

//? ? 移動號段:134/135/136/137/138/139/150/151/152/157/158/159/182/183/184/187/188/147/178

//? ? 虛擬運營商:170

NSString *MOBILE = @"^1(3[0-9]|4[57]|5[0-35-9]|8[0-9]|7[06-8])\\d{8}$";

NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];

return [regextestmobile evaluateWithObject:mobileNum];

}

28、控制交易密碼位數(shù)

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{

if (textField.text.length =6){

[MBProgressHUD showMessage:@"密碼為6位" afterDelay:1.8];

return NO;

}

return YES;

}

29、判斷是不是空

if ([real_name isKindOfClass:[NSNull class]] ) {

return NO;}

30、點擊號碼撥打電話

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://400966220"]];

31、控制UITabbar的選擇哪一個

[self.tabBarController setSelectedIndex:1];

32、獲取當前App的版本號

NSDictionary?*infoDictionary?=?[[NSBundle?mainBundle]?infoDictionary];

CFShow(infoDictionary);

//?app名稱

NSString?*app_Name?=?[infoDictionary?objectForKey:@"CFBundleDisplayName"];

//?app版本

NSString?*app_Version?=?[infoDictionary?objectForKey:@"CFBundleShortVersionString"];

//?app?build版本

NSString?*app_build?=?[infoDictionary?objectForKey:@"CFBundleVersion"];

33、蘋果app權限NSPhotoLibraryUsageDescriptionApp需要您的同意,才能訪問相冊NSCameraUsageDescriptionApp需要您的同意,才能訪問相機NSMicrophoneUsageDescriptionApp需要您的同意,才能訪問麥克風NSLocationUsageDescriptionApp需要您的同意,才能訪問位置NSLocationWhenInUseUsageDescriptionApp需要您的同意,才能在使用期間訪問位置NSLocationAlwaysUsageDescriptionApp需要您的同意,才能始終訪問位置NSCalendarsUsageDescriptionApp需要您的同意,才能訪問日歷NSRemindersUsageDescriptionApp需要您的同意,才能訪問提醒事項NSMotionUsageDescriptionApp需要您的同意,才能訪問運動與健身NSHealthUpdateUsageDescriptionApp需要您的同意,才能訪問健康更新NSHealthShareUsageDescriptionApp需要您的同意,才能訪問健康分享NSBluetoothPeripheralUsageDescriptionApp需要您的同意,才能訪問藍牙NSAppleMusicUsageDescriptionApp需要您的同意,才能訪問媒體資料庫

34、控件設置邊框

_describText.layer.borderColor = [[UIColor colorWithRed:215.0 / 255.0 green:215.0 / 255.0 blue:215.0 / 255.0 alpha:1] CGColor];

_describText.layer.borderWidth = 1.0;

_describText.layer.cornerRadius = 4.0;

_describText.clipsToBounds = YES;

35、//隱藏電池條的方法

-(BOOL)prefersStatusBarHidden{

return YES;

}

36、延時操作

[NSThread sleepForTimeInterval:2];

方法二:

[self performSelector:@selector(delayMethod) withObject:nil afterDelay:1.5];

37、系統(tǒng)風火輪:

[UIApplication sharedApplication].networkActivityIndicatorVisible = NO; //隱藏

38、//didSelectRowAtIndexPath:方法里面找到當前的Cell

AssessMentCell * cell = [tableView cellForRowAtIndexPath:indexPath];

39、navigation上返回按鈕的顏色以及返回按鈕后面文字去掉

//返回按鈕后邊文字去掉

[[UIBarButtonItem appearance] setBackButtonTitlePositionAdjustment:UIOffsetMake(0, -60)

forBarMetrics:UIBarMetricsDefault];

//設置左上角返回按鈕的顏色

self.navigationController.navigationBar.tintColor = UIColorFromRGB(0x666666);

40、lineBreakMode //設置文字過長時的顯示格式

label.lineBreakMode = NSLineBreakByCharWrapping;以字符為顯示單位顯

示,后面部分省略不顯示。

label.lineBreakMode = NSLineBreakByClipping;剪切與文本寬度相同的內(nèi)

容長度,后半部分被刪除。

label.lineBreakMode = NSLineBreakByTruncatingHead;前面部分文字

以……方式省略,顯示尾部文字內(nèi)容。

label.lineBreakMode = NSLineBreakByTruncatingMiddle;中間的內(nèi)容

以……方式省略,顯示頭尾的文字內(nèi)容。

label.lineBreakMode = NSLineBreakByTruncatingTail;結尾部分的內(nèi)容

以……方式省略,顯示頭的文字內(nèi)容。

label.lineBreakMode = NSLineBreakByWordWrapping;以單詞為顯示單位顯

示,后面部分省略不顯示。

iOS開發(fā) 調用相機拍照時 如何獲取環(huán)境光線的亮度

你好!

“在光線暗”的環(huán)境中拍照時不能按下不能拍照快門--- 相機無法對焦時,快門是不會啟動的。

除了采用夜間模式、打開閃光燈、打開對焦輔助燈外,還可以采取下列措施,提高對焦成功率:

1、提高ISO值(比如提高為ISO400、800、1600甚至更高)。

ISO數(shù)值的大小是數(shù)碼相機對光線反應的敏感程度測量值,通常以ISO數(shù)值表示,數(shù)值越大表示感光性越強,數(shù)值越小表示感光性越弱。

在室內(nèi)光線不足或拍攝夜景時,使用高ISO值能使對焦成功率大為增加。但照片的噪點也會相應增加。

2、如果環(huán)境光源偏暗,即可增加曝光值(如調整為+1EV、+2EV)以突顯畫面的清晰度。

數(shù)碼相機在拍攝的過程中,如果按下半截快門,液晶屏上就會顯示和最終效果圖差不多的圖片,對焦,曝光一起啟動。這個時候的曝光,正是最終圖片的曝光度。

圖片如果明顯偏亮或偏暗,說明相機的自動測光準確度有較大偏差,要強制進行曝光補償,不過有的時候,拍攝時顯示的亮度與實際拍攝結果有一定出入。

數(shù)碼相機可以在拍攝后立即瀏覽畫面,此時,可以更加準確地看到拍攝出來的畫面的明暗程度,不會再有出入。如果拍攝結果明顯偏亮或偏暗,則要重新拍攝,強制進行曝光補償。

另外,關于相機鎖定焦點的操作也要注意:

拍攝時,應該先半按下快門,不要松手,將取景屏里的鎖焦框對焦拍攝的焦點(比如人物的臉部),待取景屏里的鎖焦框一下收小變綠色或相機發(fā)出“嘀”一聲,就表明焦點已經(jīng)鎖定,此時再加力完全按下快門就行了。

拍照時,還必須保證持機的穩(wěn)定,機身的抖動也會致使照片失焦而模糊。

iOS AI相機App開發(fā)教程,“魔法相機”開源項目簡介

你可能這App Store中搜到過很多AI相機App,提供各種AI變臉特效,這些功能都是怎樣實現(xiàn)的呢?我們自己能不能開發(fā)一款相近功能的App呢?

出于這樣的想法,就有了“魔法相機”這個開源項目。接下來的一段時間里,我會不斷更新這個系列文章,和大家分享開發(fā)過程和各種技術細節(jié),希望能對大家有幫助。

魔法相機是一款基于SwiftUI和CoreML開發(fā)的 iOS AI 相機應用,實現(xiàn)了下列功能:

項目地址: william0wang/MagicCamera (github.com)

首先,計劃未來一段時間,把開發(fā)過程中的心得和各種技術細節(jié)通過文章分享給大家,希望對大家能用幫助。

在功能方面,當前已經(jīng)實現(xiàn)了AI相機App最流行的拍照功能。后續(xù)計劃會增加更多視頻相關功能,例如視頻變臉等。

ios開發(fā)中怎樣調用相機實現(xiàn)拍照功能

打開相機:

[cpp] view plain copy

//先設定sourceType為相機,然后判斷相機是否可用(ipod)沒相機,不可用將sourceType設定為相片庫

UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypeCamera;

// if (![UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypeCamera]) {

// sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

// }

//sourceType = UIImagePickerControllerSourceTypeCamera; //照相機

//sourceType = UIImagePickerControllerSourceTypePhotoLibrary; //圖片庫

//sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; //保存的相片

UIImagePickerController *picker = [[UIImagePickerController alloc] init];//初始化

picker.delegate = self;

picker.allowsEditing = YES;//設置可編輯

picker.sourceType = sourceType;

[self presentModalViewController:picker animated:YES];//進入照相界面

[picker release];

打開相冊:(區(qū)分pad和iphone)

for iphone:

[cpp] view plain copy

UIImagePickerController *pickerImage = [[UIImagePickerController alloc] init];

if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {

pickerImage.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

//pickerImage.sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;

pickerImage.mediaTypes = [UIImagePickerController availableMediaTypesForSourceType:pickerImage.sourceType];

}

pickerImage.delegate = self;

pickerImage.allowsEditing = NO;

[self presentModalViewController:pickerImage animated:YES];

[pickerImage release];

for ipad:

[cpp] view plain copy

UIImagePickerControllerSourceType sourceType = UIImagePickerControllerSourceTypePhotoLibrary;

//sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum; //保存的相片

UIImagePickerController *picker = [[UIImagePickerController alloc] init];

picker.delegate = self;

picker.allowsEditing = NO;//是否允許編輯

picker.sourceType = sourceType;

/*

如果從一個導航按鈕處呈現(xiàn),使用:

presentPopoverFromBarButtonItem:permittedArrowDirections:animated:;

如果要從一個視圖出呈現(xiàn),使用:

presentPopoverFromRect:inView:permittedArrowDirections:animated:

如果設備旋轉以后,位置定位錯誤需要在父視圖控制器的下面方法里面重新定位:

didRotateFromInterfaceOrientation:(在這個方法體里面重新設置rect)

然后再次調用:

- (void)presentPopoverFromRect:(CGRect)rect inView:(UIView *)view permittedArrowDirections:(UIPopoverArrowDirection)arrowDirections animated:(BOOL)animated

*/

//UIPopoverController只能在ipad設備上面使用;作用是用于顯示臨時內(nèi)容,特點是總是顯示在當前視圖最前端,當單擊界面的其他地方時自動消失。

UIPopoverController *popover = [[UIPopoverController alloc]initWithContentViewController:picker];

self.imagePicker = popover;

//permittedArrowDirections 設置箭頭方向

[self.imagePicker presentPopoverFromRect:CGRectMake(0, 0, 300, 300) inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];

[picker release];

[popover release];

點擊相冊中的圖片 貨照相機照完后點擊use 后觸發(fā)的方法

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary

*)info

點擊cancel 調用的方法

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker

ios調用系統(tǒng)相機拍照和Android的區(qū)別

直接調用和間接調用。

1、ios相機拍照調用的是fuction方法直接調用相機啟動程序,在啟動和使用初期,同步識別其他功能及喚醒插件。

2、Android相機拍照調用的是user方法,下一步調用photo方法,再啟動phoneP程序,逐步喚醒,流程式啟動。

3、所以ios相機啟動要比Android相機快,而且獲取圖片精度也高。

ios開發(fā) 系統(tǒng)調用照相機使用的按鈕怎么調用

if (is_ios7) {

AVAuthorizationStatus authstatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];

if (authstatus ==AVAuthorizationStatusRestricted || authstatus ==AVAuthorizationStatusDenied) //用戶關閉了權限

{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"請在設備的設置-隱私-相機中允許訪問相機。" delegate:self cancelButtonTitle:@"確定" otherButtonTitles:nil];

[alert show];

return;

}

ALAuthorizationStatus author = [ALAssetsLibrary authorizationStatus];

if (author == kCLAuthorizationStatusRestricted || author ==kCLAuthorizationStatusDenied)//用戶關閉了權限

{

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"請在設備的設置-隱私-照片中允許訪問照片。" delegate:self cancelButtonTitle:@"確定" otherButtonTitles:nil];

[alert show];

return;

}

}

if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) {

//相冊是可以用模擬器打開

if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) {

UIImagePickerController *picker = [[UIImagePickerController alloc] init];

picker.delegate = self;

picker.sourceType = UIImagePickerControllerSourceTypeCamera;

picker.allowsEditing = YES;

[self presentViewController:picker animated:YES completion:nil];

}else{

UIAlertView *alter = [[UIAlertView alloc] initWithTitle:@"Error" message:@"沒有相冊" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:nil, nil];

[alter show];

}

}else{

[MBProgressHUD showMessag:@"無法打開相機" toView:Main_WINDOW];

NSLog(@"模擬器無法打開相機");

}


本文標題:ios開發(fā)相機,ios開發(fā)相機圖像銳度
文章來源:http://weahome.cn/article/dsddsgs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部