標籤:
1.改變按鈕字型大小:(其實是按鈕裡面的文字是加在label上的)
button.titleLabel.font = [UIFont systemFontOfSize:20];
label的改變方法:
label.font = [UIFont systemFontOfSize:20];
2.改變一個控制項的point(包括frame、bounds、center等有point的)不可以直接賦值如下,要聲明一個臨時變數存下來,改臨時變數的點再賦值整個frame回去。因為,一個View用了點文法(即".frame")之後:,後面再".size",這個並不是訪問View的成員變數了,而是訪問結構體裡面的成員,OC中並不允許怎麼做。
num.center.x = self.view.center.x; // 此行代碼報錯
正確做法如下
// 如要改變Y值不能直接改,必須利用一個臨時rect才能改
CGRect tempframe = popView.frame ;tempframe.origin.y -= popView.frame.size.height;popView.frame = tempframe;
到這裡有人就會問:如果以後開發中要改一個View或者控制項的Frame中的Point那不得很麻煩?,這裡來個小Tips,可以為UIView寫個分類哦,,以下為樣本:
在.h檔案中聲明屬性,
@property (assign, nonatomic) CGFloat x;
在.m檔案中重寫Setter方法,
- (void)setX:(CGFloat)x{ CGRect frame = self.frame; frame.origin.x = x; self.frame = frame;}
這樣,以後用的時候就可以直接像
myView.x = 10;
這樣用起來就會方便許多對吧。其他的Y值、寬高應該不用我去說了吧?還不趕緊去寫?以後直接把分類拉到要開發的項目中,這個修改Frame值就爽多了。
3.使label中得文字置中
label.textAlignment = NSTextAlignmentCenter;
4.label中的文字自動換行,0代表可以多行。
label.numberOfLines = 0;
5.設定圖片的展開模式(多個屬性可選,右邊是枚舉,可Commom鍵加滑鼠點進去API裡面看看有哪些)
imageView.contentMode = UIViewContentModeScaleAspectFit;
6.使用plist檔案的3步驟
1) //獲得plist檔案路徑的方法! plistName為Plist的檔案名稱
NSBundle *bundle = [NSBundle mainBundle]; NSString *path = [bundle pathForResource:@"plistName" ofType:@"plist"];
2) //獲得plist裡面的數組(也可以為字典、或字串,具體類型要看Plist)
plistArr = [NSArray arrayWithContentsOfFile:path];
3)//使用數組即可。
7.NSlog中的%.f 和強制轉換(int)的差別
%.f是4舍5入,5.5 ->6;
(int)是去掉小數點,5.5->5;
所以在編寫時需要注意。
8.改變父控制項的bounds,會移動他的子控制項的位置,父不動,因為子控制項的frame是以父控制項的為主。
//父
UIView *superView = [[UIView alloc]initWithFrame:CGRectMake(50, 150, 220, 220)]; superView.backgroundColor = [UIColor greenColor]; [self.view addSubview:superView]
//子
UIView *subView = [[UIView alloc]initWithFrame:superView.frame]; subView.backgroundColor = [UIColor blueColor]; [superView addSubview:subView];
CGRect superbounds = superView.bounds; superbounds.origin = CGPointMake(50, 150); // <-其中父的X、Y都加,子會相反,即是子的x、y都減(往左上移動)減就相反。 superView.bounds = superbounds;
前期做第一個小項目的一些問題總結+解決+解釋,希望新手少走點彎路