天天看點

IOS UI 2013-8-9學習筆錄

1.設定控件屬性:

按住滑鼠右鍵,然後拖放到controller.h,如果設定成

@property (retain, nonatomic) IBOutlet UILabel *label;

@property (retain, nonatomic) IBOutlet UIButton *leftButton;

就是該ViewController的屬性,可以在.m檔案中使用self.label擷取到該控件;

例如:

[self.leftButtonsetTitle:@"LOVE"forState:UIControlStateHighlighted];

就是點選按住按鈕不放,然後按鈕中文本會程式設計LOVE,但松手之後還會複原。

2.設定控件方法

按住滑鼠右鍵,然後拖放到controller.h,如果選擇IBAction的話就設定的是方法屬性

- (IBAction)leftClick:(id)sender;

- (IBAction)rightClick:(id)sender;

可以在.m檔案中在自動生成的點選方法裡面添加邏輯代碼:

- (IBAction)rightClick:(id)sender {

    self.label.text =@"right";

}

3.處理兩個按鈕同時擁有同一個事件,怎麼區分?

如果兩個按鈕同時指向擁有一個同一個click方法,但我們要知道是哪個按鈕點選了該方法,那我們就要通過方法的click:(id)sender這個參數來識别是哪個按鈕觸發了該事件,最好是給每一個按鈕設定一個tag來唯一辨別每個按鈕,然後在.m檔案中通過宏定義來設定這些tag

常用函數:

-(void)removeFromSuperview;

-(void)insertSubview:(UIView *)view atIndex:(NSInteger)index;

-(void)exchangeSubviewAtIndex:(NSInterger)index1 withSubviewAtIndex:(NSInteger)index2;

-(void)addSubview:(UIView *)view;

-(UIView *)viewWithTag:(NSInteger)tag;

4.通過代碼重新設定Lable大小:

CGRect frame = CGRectMake(100,100,200,100);

//測試之前先将Use Autolayout的功能不選,讓我們自己來對label大小适合文字布局

//求字型大小

//在原來的基礎上添加

self.label.text = str;

//求字型的長度大小,隐藏在CGSize的分類方法中

CGSize size = [str sizeWithFont:self.label.font];

//自定義長方形大小

CGRect frame = CGRectMake(self.label.frame.origin.x,self.label.frame.origin.y,size.width,self.label.frame.size.height);

//通過自己設定的frame大小來改變目前label長度的大小

self.lable.frame = frame;

額外方法:

CGSize labelSize = [s sizeWithFont:font constrainedToSize:size lineBreakMode:UILineBreakModeWordWrap];

意思就是:把字元串s當成font字型時候,在區間size内使用這行的情況下那麼s應該有的大小,也就是s在最大size範圍内的寬和高

将一個view添加到另外一個view中

[self.view addSubview:label2];//添加了之後計數器加1,要釋放

[label2 release];

本文轉蓬萊仙羽51CTO部落格,原文連結:http://blog.51cto.com/dingxiaowei/1366441,如需轉載請自行聯系原作者

繼續閱讀