scrollView里lastObject不一定是你加的,可能會存在其他非手動添加的系統(tǒng)默認(rèn)的子控件
edit all in scope或cmd+F 批量查找重命名
數(shù)組中包含元素
BOOL b=[@[@1,@2,@3] containsObject:@1];
得到數(shù)據(jù)的大小3.5M
[NSByteCountFormatter stringFromByteCount:data.length countStyle:NSByteCountFormatterCountStyleFile];```
在Info.plist里面bundle Name 直接可以改App的名字温治,改項目名文件名太麻煩了
[str lowercaseString]全部轉(zhuǎn)換為小寫
[str uppercaseString]轉(zhuǎn)換為大寫
注意!當(dāng)一個屬性的setter和getter都是自定義時不會生成實例變量
向上向下翻頁
[UIViewsetAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];
參數(shù)UIViewAnimationTransitionCurlUp代表向上翻頁奈籽,如果向下的話UIViewAnimationTransitionCurlDown.
forView那把當(dāng)前的視圖傳進(jìn)去垂涯。
長按更換背景圖片一定要打開用戶交互!5治谩魂务!
selectedCell.imageView.userInteractionEnabled=YES;
長按手勢默認(rèn)調(diào)兩下方法,加上
if (gr.state==UIGestureRecognizerStateBegan)
只要把斷點設(shè)在 property 的聲明上曼验,就可以斷到這個 property 所有的改變
tabBar選中后有背景,很多軟件用到
self.tabBar.selectionIndicatorImage=[UIImage imageNamed:@"tabbar_selected_back.png"];
是否是ipad
Bool isIpad= [[UIDevice currentDevice]userInterfaceIdiom]==UIUserInterfaceIdiomPad;
是否IOS8以上
bool isIOS8 =
[[UIDevice currentDevice].systemVersion doubleValue] >=8.0;
自定義代碼塊存在這里,換電腦拷走即可
/Users/apple/library/developer/xcode/userdata/codeSnippet
設(shè)置狀態(tài)欄(電池所在的20個點)的顏色
-(UIStatusBarStyle)preferredStatusBarStyle{
return UIStatusBarStyleLightContent;//淺色
return UIStatusBarStyleLightDefault;//深色
}
collectionView和tableView沒有數(shù)據(jù)的原因
1.很可能是因為dataSource沒拉線
2.Model數(shù)組count為0
3.明明用動態(tài)cell卻register了
注意xib自定義cell的加載方式
cell =[[[NSBundle mainBundle]loadNibNamed:@"EVTableViewCell" owner:self options:nil]lastObject];
自定義slider
[self.mySilder setMaximumTrackImage:[UIImage imageNamed:@"playing_volumn_slide_bg"] forState:normal];
[self.mySilder setMinimumTrackImage:[UIImage imageNamed:@"playing_volumn_slide_foreground"]forState:normal];
[self.mySilder setThumbImage:[UIImage imageNamed:@"playing_volumn_slide_sound_icon"] forState:normal];
直接拖文件夾在xcode中會訪問不到,此時文件夾是藍(lán)色的粘姜,要記得選擇new group,變成黃色的
self.view就是tableview
但self.view 不是collectionview.是collectionview.superview
也等同于在autoresizing里把紅線點暗
-(void)awakeFromNib{
從xib中喚醒出來時
view.autoresizingMask=UIViewAutoresizingNone;
}
keyValue相等的字典
NSDictionary* dict=NSDictionaryOfVariableBindings("b1","b2","b3");
dict = @{"b1":"b1","b2":"b2","b3":"b3"}
數(shù)字加@就轉(zhuǎn)為對象類型
同一button點擊切換狀態(tài)
//利用取反
sender.selected=!sender.selected
//獲取button的title=[sender titleForState:normal/selected]
title=[sender titleForState:normal/selected]
只要是矩陣類型的都可以
for row=i/n
col=i%n得到對應(yīng)坐標(biāo)
父視圖的TintColor設(shè)置全局顏色熔酷,第一個檢查器globalTint
tint對一類型做統(tǒng)一設(shè)置
naviBar是全局的
大量圖片是不要用image imagenamed
應(yīng)用[NSBundle mainBundle]file....
uppercaseString全大寫孤紧,lowercaseString全小寫
關(guān)閉鍵盤啊拒秘!
touchesBegin{
[self.view endEditing:Yes]
}
textField選didEndOnExit
要注意新建項目時的bundle identifier 軟件的唯一標(biāo)識号显,因為不識別中文,所以都變成----當(dāng)兩個軟件標(biāo)識一致就會卸載前一個的
frame永遠(yuǎn)是矩形的哦躺酒!
RGB一樣的就是灰色啦
extension和category
可以說extension是私有的category押蚤,只有h文件的
NSStringFrom把xxx變成字符串
客戶端和服務(wù)器
http是短鏈接,返回數(shù)據(jù)就斷開
socket是長連接羹应,可以不停的往返發(fā)送數(shù)據(jù)
modal控制器的切換是可逆的揽碘,Controller未被銷毀
直接切換window的rootVC是不可逆的,沒有強(qiáng)指針指向就被銷毀了
不要重復(fù)造輪子园匹,知道怎么用輪子
練習(xí)使用你熟悉的一切來解釋該模型的特性
self.topLayoutGuide.length:就是導(dǎo)航欄的高度雳刺,那個44
把文件點開一下,將storyBoard和class關(guān)聯(lián)才自動補(bǔ)全
CMD+Alt+A:add file
CMD+Alt+Shift新建playground
Alt點選文件裸违,拆分你想要的視圖
segmentControl點擊事件里:sender.selectedSegmentIndex
tableView和collectionView中CRUD一定要先修改數(shù)據(jù)模型再reloadData掖桦,其實自己都不用寫delete,insert的
tableView.visibleCells很好用
scrollView里lastObject不一定是你想要的供汛,可能存在其他非手動添加系統(tǒng)默認(rèn)的子控件
NSOptions這樣的枚舉枪汪,就是多維選擇的啦 <<左位移什么的,按位或運(yùn)算符
一個像素點用4個整數(shù)來存(0-255)
VFL:Visual Format Language 可視的格式語言寫布局約束