zoukankan      html  css  js  c++  java
  • ios开发常见问题及解决办法

    1 . storyboard连线问题

     

     

     

    产生原因:将与storyboard关联的属性删除了,但是storyboard中还保持之前所关联的属性。

    解决:

    1. 点击view controller   
    2. 点击这排最后一个按钮 
    3. 会出现  
    4. 发现感叹号。点击感叹号的左边的x,取消关联就不会报错了。

    2 .文本框中输入的内容密文显示

    解决:勾选这个secure 属性 

    3 .输入文本的时候,怎么显示右边的X按钮(撤销按钮)

    1.点击

     

     

    2.会显示

     

     

    3.选择表示当编辑的时候,会出出现X

    效果:

     

    3 .ios中修改UI控件属性问题

    报错原因:OC语法规定:不允许直接修改某个对象的结构体属性的成员

    _btn 是个对象

    frame是个结构体。

    对象和结构体是不一样的,结构体是C语言中的,里面可以定义许多属性,但是不能定义方法,而对象是即可以定义属性又可以定义方法的,是典型的面向对象语法。

    如何改变对象中结构体属性的成员:

    解决方法一:

        // 既然不能直接修改对象中的结构体属性成员

        // 先取出结构体

        CGRect frame = _btn.frame;

        // 修改结构体

        frame.origin.y -= 10;

        // 将修改后的结构体重新赋值回去

        _btn.frame = frame;

     

    解决方法二:

        // 先取出y值

        CGFloat y = _btn.frame.origin.y;

        // 修改y值

        y -= 10;

        // 重新设置_btn的y值,其他属性和_btn保持不变

    _btn.frame = CGRectMake(_btn.frame.origin.x, y, _btn.frame.size.width,_btn.frame.size.height);

    3 .id 问题

    报错原因:id类型不能使用点语法

    解决方式一:

        // 利用get方法获取tag值

        NSInteger i = [sender tag];

     

    解决方式二:

    // 将id强转为UIButton

        UIButton *button = (UIButton *)sender;

        // 就能使用点语法获取tag,编译器很笨的,他只会根据当前类型,去判断是否能使用这个语法。一般强转为对应类型,就能使用对应类型的方法了。

    NSInteger i = button.tag;

    四.如果发现给控件设置transform属性,控件没有任何反应,或者反应了,但是效果不对

    解决方法:将这个选项  取消勾选。

     

  • 相关阅读:
    NOIp 图论算法专题总结 (3):网络流 & 二分图 简明讲义
    zkw 线段树
    NOIp 图论算法专题总结 (2)
    NOIp 数据结构专题总结 (2):分块、树状数组、线段树
    单调栈、单调队列 思路及例题
    java自动装箱和拆箱
    HashMap和HashTable的异同点
    HttpServletRequest. getParameter获取的参数格式
    关于交换函数(1)
    std::vector::iterator重载了下面哪些运算符
  • 原文地址:https://www.cnblogs.com/iyou/p/3624345.html
Copyright © 2011-2022 走看看