前期做第一個小項目的一些問題總結+解決+解釋,希望新手少走點彎路

來源:互聯網
上載者:User

標籤:

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;

 

前期做第一個小項目的一些問題總結+解決+解釋,希望新手少走點彎路

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.