iOS常见问题(2)

1、模拟器黑屏数组

  解决方法:框架

2、打代码时,Xcode没提示spa

  解决方法:3d

  0. 点击Preferencescode

  1. 进入Text Editingorm

  2. 勾选对象

3、有时候可能在勾选 Autolayout的时候,搞错了对象,误把控制器的View的User Interaction Enabled勾选掉了。blog

  

  解决办法:User Interaction Enabled 必须勾选,不然控制器根视图中全部子控件没法进行任何操做。继承

  

  

4、访问权限事件

  错误:

  会报连接错误。

  

  报错缘由,利用下划线访问了@package这个权限里的东西。

  

  被@package 修饰的成员属性只能在同一个框架内部才容许访问。不然会引起link erro。

  @private 实例变量只能被声明它的类访问

  @protected 实例变量能被声明它的类和子类访问。

  @public 实例变量能够被任何类访问。

5、运行程序时,显示运行完成,可是模拟器没反应。

  

  问题缘由: 有时候应用程序的标示符同样,会致使程序不能成功运行。

  解决方式一:将模拟器以前的程序删除。

  解决方式二:  将模拟器还原

6、2d表示保留两位 02d 表示不够了 用0来补齐。

1 NSLog(@"%02d",cols);

7、Plist文件读取。

  

  错误缘由:不要看到有不少元素的,就认为是数组。这样解析是错误的。

  _dict = [NSArray arrayWithContentsOfFile:path];

  这个pist文件是一个字典,正确的解析此plist文件。

  // 2.根据文件路径加载字典

  _dict = [NSDictionary dictionaryWithContentsOfFile:path];

8、给程序拖图片的时候,必定要注意,以下图勾选的,都要勾选中。

  

9、禁用UITextField的双击出现复制粘贴剪切等操做

  解决方式:

  有时候咱们须要禁用UITextField的双击出现copy paste的功能,然而UITextField自己没有直接设置禁止用户复制粘贴剪切操做等方法,可是能够重载canPerformAction方法来实现。

  新建一个类继承UITextField,而后实现canPerformAction方法:
  只需覆盖canPerformAction:withSender方法就能够,canPerformAction:withSender属于UIResponder类的。

  以下:

1 -(BOOL)canPerformAction:(SEL)action withSender:(id)sender 
2 {
3 UIMenuController *menuController = [UIMenuController sharedMenuController];
4 if (menuController) {
5 [UIMenuController sharedMenuController].menuVisible = NO;
6 }
7 return NO;
8 }

10、将UIButton添加到UILabel,UIButton是不能点击的。

  缘由:

  1.UILabel是继承UIView的,默认不能监听点击事件。UIButton是继承UIControl可以监听点击事件。

  2.将UIButton添加到UILabel,他们之间的关系是UILabel是UIButton的父视图,父视图都不能监听点击事件,天然而然不会将事件传递给子视图,所以UIButton也不能监听点击事件了。

  思惟指导:有些人会认为UIControl不是继承UIView的吗,都是继承UIView,为何单独继承UIControl能够监听点击事件,继承UIControl的父类UIView不能监听事件了,这是由于咱们通常在父类里实现的都是一些共用的属性和方法,而在子类中具体实现子类特有的方法。所以在UIControl实现了监听点击的特有方法,即继承UIControl才能监听点击事件。

相关文章
相关标签/搜索