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,如需轉載請自行聯系原作者