IOS UI 2013-8-9学习笔录
1.设置控件属性: 按住鼠标右键,然后拖放到controller.h,如果设置成 @property(retain,nonatomic)IBOutletUILabel*label; @property(retain,nonatomic)IBOutletUIButton*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 例如: #define LEFT_BUTTON_Tag 1 #define RIGHT_BUTTON_Tag 2 -(IBAction)click:(id)sender { UIButton *button = (UIButton *)sender; if(button.tag == LEFT_Button_Tag) { self.Label.text = @"Left click"; } } 常用函数: -(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,如需转载请自行联系原作者