1、NSString类型和int类型互换:
int inta;
NSString *stra;
1)将NSString类型转为int 类型
inta = stra.intValue;//字符串本身就是整型数字
2)将一个int类型转为NSString类型
stra = [NSString stringWithFormat: "@%d", a];
2、遇到一个问题,是UITextField文本框,在iOS模拟器里点击只出现光标,不能弹出键盘。
提示错误“Can‘t find keyplane that supports type 5 for keyboard iPhone-Portrait-PhoneP”
解决方法:http://www.bubuko.com/infodetail-570660.html
是Xcode 6有小bug,只要设置一下就没问题了,设置的如下图:
点击模拟器上面的菜单:Hardware->Keyboard->ConnectHardware Keyboard这一项不要勾选,我们的键盘就能正常显示了,但是我们发现这样电脑的键盘就不能用了,所以要不
要勾选还看自己的习惯了,没有自定义键盘什么的不弹出也不会影响真机测试。
3、移动图片位置时,不能直接修改“对象”的“结构体属性”的“成员”
修改对象的结构体成员
在OC中,不允许直接修改“对象”的“结构体属性”的“成员”,但是允许修改“对象”的“结构体属性”
修改结构体属性的成员方法如下:
(1)使用临时变量记录对象的结构体属性
(2) 修改临时变量的属性
(3)将临时变量重新设置给对象的结构体属性
- (IBAction)upBtnClick:(id)sender {
NSLog(@"up");
//OC中不允许直接修改“对象”结构体属性的成员
// self.iconBtn.frame.origin.y -= 20.0;//报错
//但是可以修改结构体属性的成员
//修改“对象”结构体属性的成员有3个步骤
//1.取出frame
CGRect frame = self.iconBtn.frame;
//2.修改结构体属性的成员
frame.origin.y -= 20;
//3.重新为对象的结构体属性赋值
self.iconBtn.frame = frame;
}
//magic number魔法数字,是指在代码中出现的意义不明的数字,不利于代码的可读性
//宏定义,解决魔法数字
#define kMovingDelta 20.0f
//使用枚举是解决魔法数字的采用方法。
//枚举类型本质上就是就是整数,定义的时候,如果只指定了第一个数字,后续的数值就会依次递增加一。
typedef enum{
kMOvingDirUp = 10,
kMOvingDirBottom,
kMOvingDirLeft,
kMOvingDirRight
} kMOvingDir;
5、控件移动,放大缩小,旋转和动画
移动用CGAffineTransform
放大缩小用CGAffineTransformScale
旋转用CGAffineTransformRotate
动画:
//首尾式动画
//准备开始一个动画
[UIView beginAnimations:nil context:nil];
//设置动画时间
[UIView setAnimationDuration:5];
//动画内容
self.iconBtn.bounds = bounds;
//提交动画
[UIView commitAnimations];
6、用代码实现一个button控件
@interface ViewController ()
//weak:弱引用,不决定对象的存亡。即使一个对象被持有无数个弱引用,只要没有强引用指向它,那么还是会被清除
@property (weak, nonatomic) IBOutlet UIButton *iconBtn;
//assign一般用来处理基本数据(不改变引用计数)
@property (assign,nonatomic) CGFloat delta;
@end
@implementation ViewController
-(void)viewDidLoad{
<p class="p2"><span class="s3"> [</span><span class="s4">super</span><span class="s3"> </span><span class="s1">viewDidLoad</span><span class="s3">];</span><span style="font-family: Arial, Helvetica, sans-serif;"> </span><span class="s1" style="font-family: Arial, Helvetica, sans-serif;"> //</span><span class="s2" style="font-family: Arial, Helvetica, sans-serif;">务必要调用</span><span class="s1" style="font-family: Arial, Helvetica, sans-serif;">super</span><span class="s2" style="font-family: Arial, Helvetica, sans-serif;">加载</span></p> //用代码实现加载一个button的控件
//创建按钮,默认是custom类型
UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(100, 300, 100, 100)];
self.iconBtn = btn;//建立联系
//设置背景图片
[btn setBackgroundImage:[UIImage imageNamed:@"btn_01"] forState:UIControlStateNormal];
[btn setBackgroundImage:[UIImage imageNamed:@"btn_02"] forState:UIControlStateHighlighted];
//设置文字
[btn setTitle:@"点我呀" forState:UIControlStateNormal];
[btn setTitle:@"干嘛呀" forState:UIControlStateHighlighted];
//设置文字颜色
[btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
[btn setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];
//设置文本垂直对齐方式
btn.contentVerticalAlignment = UIControlContentVerticalAlignmentBottom;
//显示控件
[self.view addSubview:btn];
}
@end