屏幕適配問(wèn)題
在做EyptBeacon項(xiàng)目時(shí),在storyboard中使用AutoLayout和SizeClasses做的屏幕適配和約束上祈,在iPhone 6plus上運(yùn)行沒(méi)有問(wèn)題器予,后來(lái)用測(cè)試員的iPhone5 進(jìn)行測(cè)試時(shí)浪藻,發(fā)現(xiàn)進(jìn)入app后, 屏幕的上方大概時(shí)導(dǎo)航欄的位置和屏幕的下方ToolBar的位置留有黑屏乾翔,像是沒(méi)有做屏幕適配一樣爱葵,后來(lái)用模擬器運(yùn)行,卻又沒(méi)有這樣的問(wèn)題出現(xiàn)反浓。之后查閱的各種方法萌丈,最終的解決辦法是:給項(xiàng)目添加啟動(dòng)圖片,由于本來(lái)項(xiàng)目是沒(méi)有啟動(dòng)圖片的勾习,于是浓瞪,找了幾張空白圖片添加到啟動(dòng)圖片的位置后,再運(yùn)行在iPhone5設(shè)備上巧婶,上下部分的黑屏問(wèn)題得到解決了乾颁,但又出現(xiàn)了新的問(wèn)題,程序進(jìn)入的第一個(gè)控制器是一個(gè)帶有導(dǎo)航條和tableView的控制器艺栈,在storyboard中設(shè)置了automaticallyAdjustsScrollViewInsets為YES英岭,在iPhone 6Plus中tableView的位置在navigationBar的下面,但在iPhone5中運(yùn)行程序時(shí)湿右,發(fā)現(xiàn)tableView的視圖左頂點(diǎn)是在父視圖的原點(diǎn)位置诅妹,tableView會(huì)被navigationBar擋住。之后調(diào)試毅人,不管是設(shè)置automaticallyAdjustsScrollViewInsets為YES還是NO吭狡,都沒(méi)有效果。最后只好重新設(shè)置tableView的frame(0,64,screenWidth,screenHeight),再將automaticallyAdjustsScrollViewInsets設(shè)置為YES即可丈莺。
UIAlertView問(wèn)題
else if (([change[NSKeyValueChangeOldKey] intValue] == 35) && ([change[NSKeyValueChangeNewKey] intValue] == 36)) {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"" message:NSLocalizedString(@"the length of uuid is 32", nil) delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}
情景是划煮,在鍵盤輸入到36個(gè)字符時(shí),推出一個(gè)提示框缔俄,但在實(shí)際的真機(jī)測(cè)試中弛秋,發(fā)現(xiàn)器躏,當(dāng)輸入到36個(gè)字符時(shí),會(huì)連續(xù)推出兩次提示框蟹略,解決辦法:在[alert show];
后面添加一個(gè)return;
就不會(huì)出現(xiàn)兩個(gè)提示框的情況的登失,至于是什么原因?qū)е逻@種情況發(fā)生,還不清楚挖炬。
使用storyboard中屏幕預(yù)覽助手
有的時(shí)候揽浙,做了屏幕適配和約束,如果要拿不同型號(hào)的手機(jī)來(lái)測(cè)試屏幕上的約束效果時(shí)很不方便茅茂,如果使用屏幕預(yù)覽助手捏萍,就能很方便且直觀的看到添加約束后的視圖在不同尺寸的屏幕上的效果了,查看屏幕預(yù)覽助手的步驟是:
- 點(diǎn)擊storyboard左上角按鈕
- 點(diǎn)擊Preview
- 按著鍵盤的option + shift鍵空闲,點(diǎn)擊相應(yīng)的storyboard
- 雙擊右邊的加號(hào)按鈕,添加預(yù)覽窗口
此時(shí)就可以看到屏幕預(yù)覽的窗口啦走敌,還能點(diǎn)擊左下角的+號(hào)碴倾,添加不同型號(hào)的手機(jī)屏幕。這樣就可以很方便的看到storyboard中的布局呈現(xiàn)在不同尺寸的屏幕上的效果掉丽,而不需要在手機(jī)上運(yùn)行才能看跌榔。