0811-按钮操作(加法计算器)(拖控件找控件代码属性名称)(frame center bounds)(上下左右移动button图片)

--------------------

加法计算器 实现步骤

1、拖控件   改textField键盘属性为numberPad ,label双击修改名称自动缩小尺寸  改属性名称不会改尺寸,   放到  View控件中(view控件背景色设置为灰色), 

iphone4s

模拟器开启后  window->scale->50%

2、automatic viewController.h -> (IBAction)compute方法连线      (.h文件中void改成IBAction 就可以连线了 .h中的方法也可以用IBAction连线)

3、viewController.h -> @property (nonatomic, weak) IBOutlet UITextField *num1; 属性连线

4、

- (IBAction)compute
{
    NSLog(@"compute");
    
    NSString *num1 = self.num1.text;
    NSString *num2 = self.num2.text;
    
    NSLog(@"%@ === %@",num1,num2);
    
    int result = num1.intValue + num2.intValue;
    
    self.result.text = [NSString stringWithFormat:@"%D",result];
    // 退出键盘
    [self.view endEditing:YES];
//    等同于下面
//    [self.num1 resignFirstResponder];
//    [self.num2 resignFirstResponder]; }

5、viewController.h中   @property (nonatomic, weak) IBOutlet UITextField *num1; 可以放到viewController.m中变成私有扩展    

只要viewController.m 中- (IBAction)compute{} 连线了 ,  viewController.h中的 - (IBAction)compute;就可以省略

6、一个项目中有2个storyboard  ipad.storyboard iphone.storyboard实现一个应用程序在2种设备上跑

新建项目选择 universal 加入iphone.stroyboard和ipad.storyboard 修改启动选项为iphone 或ipad即可实现一个应用程序既可以在iphone上也可以在ipad上跑

7、source control -> commit        source control-> history

版本编辑器 不同提交时间代码比对  

 

999:额外知识,不用管:

【IB: interface builder 界面搭建的意思   以前storyboard界面  单独为一个应用程序 作为界面搭建的  现在集成到了xcode中

UIViewController管理UIView

--------------------------------

二、拖控件找控件代码属性名称

拖控件-》查看uilabel控件属性中文名称   ctrl+command+o 搜索uilabel 进入uilabel.h 找到属性 对应的真实代码名称

 -----------------------------

三、frame  center bounds

 

frame 相对于父视图  左上角坐标 宽高  使用自动布局后就用的少了 不推荐用这个了

bounds自己的位置就是自己的左上角 0  只需知道自己的大小即可

center子视图占据父视图的中心位置

 --------------

按钮操作 13 上下左右移动button图片

步骤:

1、导入素材到image.assets (小批量的高画质png图片)  (直接mac中的图片文件夹到image.assets里   图片文件夹名称代码中无意义)

2、拖控件  设置button属性为custom

3、连线4个箭头方法用一个方法 , 给每个箭头设置tag, 让图片动起来

- (IBAction)move:(UIButton *)button {
     // 取出frame
    CGRect frame = self.image.frame;
    switch (button.tag) {
        case kMovingTop:
            frame.origin.y -=kMovingDistance;
            // 修改frame
            break;
        
        default:
            break;
    }
    //重新设置frame
    self.image.frame = frame;
    
}

4、移动量用宏定义   上下左右数值用枚举数值  (枚举本质就是整数)

typedef enum
{
    kMovingTop = 11,
    kMovingLeft = 12,
    kMovingRight = 13,
    kMovingBottom = 14,
}kMoving;

#define kMovingDistance 20

 

posted @ 2016-02-20 14:24  海龙王来了  阅读(194)  评论(0)    收藏  举报
友情链接:废钢破碎机  带式压滤机