1.IBAction:
1> 能保證方法可以連線
2> 相當於void
-(IBAction)
2.IBOutlet:
1> 能保證屬性可以連線
@property (weak,nonatomic)IBOutlet
3.常見錯誤
setValue:forUndefinedKey:]: this class is not key value coding
錯誤原因是:連線出問題了
4.Xcode5開始的一些建議
把用於連線的一些方法和屬性聲明在.m文件的類擴展中
CGRect tempBounds = self.head.bounds; // 2.改變臨時屬性 tempBounds.size.width += 20; tempBounds.size.height += 20; // 3.用臨時屬性覆蓋原來的屬性 self.head.bounds = tempBounds;
5.frame\center\bounds
1> frame:能修改位置和尺寸
不能用點語法直接修改frame屬性的值
CGRect btnFrame = self.controlName.frame; btnFrame.origin.y -= 10; self.controlName.frame = btnFrame;
2> center:能修改位置
不能用點語法直接修改center屬性的值
CGPoint tempCenter = self.head.center; tempCenter.x += 10; self.head.center = tempCenter;
3> bounds:能修改尺寸(x\y一般都是0)
不能用點語法直接修改bounds屬性的值
CGRect tempBounds = self.head.bounds; tempBounds.size.width += 20; self.head.bounds = tempBounds;
6.自動生成連線信息
按住control 拖控件
7.代碼動態創建控件
- (void)viewDidLoad { [super viewDidLoad]; NSLog(@"-----viewDidLoad"); // 添加 // 1.創建按鈕 UIButton *btn = [[UIButton alloc] init]; // 2.添加按鈕 [self.view addSubview:btn]; // 3.設置frame btn.frame = CGRectMake(100, 100, 100, 100); // 4.設置背景色 btn.backgroundColor = [UIColor blueColor]; // UIImage *image = [UIImage imageNamed:@"btn_01"]; // [btn setBackgroundImage:image forState:uicontrolstate]; }
// 0.開始動畫 [UIView beginAnimations:nil context:nil]; // 動畫持續2秒 [UIView setAnimationDuration:2.0]; // 1.取出原來的屬性 CGRect tempBounds = self.head.bounds; // 2.改變臨時屬性 tempBounds.size.width += 50; tempBounds.size.height += 50; // 3.用臨時屬性覆蓋原來的屬性 self.head.bounds = tempBounds; // 4.提交動畫 [UIView commitAnimations];