IOS xcode学习札记

1。  xcode左边的目录中,文件夹为黄色,说明在物理目录上不存在,只是一个显示使用。


2. ios设置只能有一个window。 UIWindow是一个用来容纳UIVIew的容器。一个生命周期,就只有一个UIWindow。


3. UIWindow有3个级别,UIWindowLevelAlert > UIWindowLevelStatusBar > UIWindowLevelNormal.


4. 可以用NSLog(@"self.window frame : %@", NSStringFromCGRect(self.window.frame)); 来打印一个frame,因为frame是一个结构体不能直接用%@来打印。


5.frame是其父坐标为起点。bounds是IOS的原点坐标为起点。


6. 如果希望让一个视图裁剪其子视图,需要将其clipsToBounds属性设置为YES.


7.view的alpha和hidden都会挟持子视图。


8.  可以用系统提供的方法来进行仿射变换,CGAffineTransformScale,CGAffineTransformRotate,CGAffineTransformTranslate. 实现UIView的变换。


9. contentMode 不同的模式,UIView的显示就会不一样。不知道UIView的大小的时候需要选择合理的。有fit,fill,buttom,top等。一张图片显示在UIView中的模式。


10。 UITabBarController是标签栏控制器。


11。用nib创建viewController的方法,如果定义一个名字与viewController一样的xib,就可以直接用[[RootViewController alloc] init]; 创建。


12.调用self.view的时候,如果view没有创建,则会调用loadView方法来创建一个View。


13.在创建视图控制器时,不要在初始化方法中做视图相关的动作。


14. 在ios6以前,内存警告的时候会调用ViewDidLoad,需要将loadView中所有的视图都清空。  ios6.0以后调用didReceiveMemoryWarning方法。


15.判断当前的view是否在当前窗口上, self.view.window是否为空,如果为nil则说明不在当前窗口上。


16。[presentViewController:modalVC animated:YES completion:^{ NSLog("Call Back") }];    这个Block在执行完viewDidAppear后就会调用completion的block。


17. modalTransitionStyle设置modal的动画效果,可以选择4种样式。


18。  当设备发生改变时,系统会发送一个UIDeviceOrientationDidChangeNOtification通知,在UIKit的框架下可以监听这个通知。


19. UITextField可以设置自定义键盘,设置textField的inputView。


20.  UITextField可以设置公用键盘输入,就是在键盘的上面添加一个view,可以在这个view上添加一些按钮啊,图片啊,等等。 设置UITextField的inputAccessoryView。


21. 使用NSTimer的方法scheduleTimerWithInterval中userinfo传递一个id,可以在参数selector中的入参中获取,入参为(NSTimer *)timer,从[timer userinfo]获取传递过来的userinfo的值。


22. UIPageControl一般就用到2个属性,numberOfPages,currentPage.


23.  navigation导航控制器,由导航栏,控制器包含的内容视图,工具栏,这3部分组成。  导航控制器会有一个栈用来保存所有的viewController。


24.  UIViewController获取到的navigation就是在navigation中添加此viewController时,将navigation赋值给viewcontroller。


25.  UIViewController的多层关系,如果根视图控制器发生屏幕旋转,则自动告知它旗下的所有多层次结果中的子视图控制器。 (而UIView的多层次关系就不会)


26.  可以使用用图片设置颜色 [UIColor colorWithPatternImage:[UIImage imageNamed:@"img.png"]];


27. 一个导航控制器控制着若干个视图控制器,一个导航控制器包含一个NavigationBar和一个toolbar。NavigationBar中的“按钮”是一个UINavigationItem(only one)。通过设置UINavigationItem的属性,显示Item(UINavigationBar)。UINavigationItem不是navigationBar控制,更不是由UINavigationController来控制,而是由当前的视图控制器来控制。


28.  可以使用@[@"123", @"456", @"789"];  定义数组。


29.  UIToolBar中UIBarButtonSystemItemFlexibleSpace是用来设置间隔的。保证toolBar中的button,分布均匀。  可以使用UIBarButtonSystemItemFixedSpace来设置一个固定的宽度。


30。 drawRect实现渲染,动画。


31.  UITabBarController是管理固定的几个视图控制器,子控制器时并列的,可以任意切换。一般都用UiTabBarController来做布局。(创建多个UIViewController,添加到UiTabBarController的viewControllers中)


32.  UIBarButtonItem是UINavigationConroller中的left和right的button。UITabBarItem是UITabBarController上的Item。


33.  UITabBarItem用的图片是30x30的,如果是一张60x60的图片,需要将图片的名字改成 alarm@2x.png样式的。


34.  国际化,在plist文件中添加一个Localizations的属性,添加一个Chinese(simplified)。实现app支持中文显示


35. UITabBarController的UITabBarItem多余5个的时候就会出现一个more的按钮。


36.  UITabBarItem可以设置badgeValue属性显示红色图标标记,self.tabBarItem.badgeValue = @"new"; 此属性为一个NSString。


37.  设置UITabBarController的selectIndex可以来选择显示哪个视图。


38.  可以使用(1)[UIView beginAnimations: nil context: NULL]; (2)[UIView setAnimationDuration:0.3];(3) 之后 设置view的改变, (4)再写上 [UIView commitAnimations];     可以实现让view的改变变成一个动画效果,在0.3秒钟完成这个view的改变。


39.    作为一个工具类库



40.  工具类库



41.  在xcode中,(1)黄色的文件夹为groups,在磁盘中不存在文件夹,只是为了方便管理。(2)蓝色的文件夹为folders,在磁盘上存在的文件夹。


42.  设置了UIViewController的title后,如果添加到UITabBarController中,就现在UiTabBarItem中的title中。


如果UIViewController添加到UINavigationController中,就显示在navigation中的title中。



43.  需要修改UINavigationController的title的字体,重写setTitle:的方法,创建一个UILabel,覆盖self.navigationItem.titleView.


44.UITableViewCell也有一个headerView 和一个footerView。


45.  UITextView的inputAccessoryView属性,可以在键盘的正上方添加一个view,比如添加一个UIToolBar。


46.  


















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值