iOS 开发问题集锦(二)

办公机器原来是别人在用,Xcode也是用别人的帐号下载的。昨天想升级Xcode的时候,发现没有密码,为了避免打扰别人,也为了方便本身以后升级,因而乎把旧版本直接卸载掉,从新下载了全新的4.6版。ios

下载完成后,问题出现了,之前针对Xcode的一些设置都没有了,因而只好从新设置。本身的记性不太好,在这里记录一下,以便从此出现一样问题时查找。暂时遇到的问题有:app

一、代码样式发生了变化,默认为Basic,根据我的喜爱,重设为Default,以下图所示:函数

设置前与设置后的对比图:学习

设置前spa

设置后code

也能够根据本身的喜爱设置成别的。xml

二、.xib文件上的视图没有自动显示虚拟边框,为了方便对其,须要手动设置一下,设置方式Editor -> Canvas -> Show Bounds Rectangles,以下图所示:对象

设置前与设置后的对比图:blog

设置前递归

设置后

暂时就遇到这些问题,若是有新设置,再补上。如下部分是一些其余问题。

3.一、UIBarButtonItem 和 NavigationItem 的区别是什么?

UIBarButtonItem 包含在 NavigationItem里边, 就是导航条左右的那些按钮。

NavigationItem 是一个容器,它能够容纳左右按键、返回键与标题视图等。

3.二、[self.navigationBar addSubView:lable]; 和 self.navigationItem.titleView=label; 这两个等价吗?

这个不作回答,你们试一试就知道啦。遇到问题,多练习,多写代码,多试两遍就出来了,记忆还深入呢。

四、如何在app的icon左上角显示圆形背景的数字?

在AppDelegate.m中的applicationDidEnterBackground:方法中现实,以下

/*
 说明:当程序被推送到后台的时候调用。因此要设置后台继续运行,则在这个函数里面设置便可
 **/
- (void)applicationDidEnterBackground:(UIApplication *)application
{
     [[UIApplication sharedApplication] setApplicationIconBadgeNumber:5];
}

五、NSClassFromString 类如何使用?

NSClassFromString是一个颇有用的东西,尤为在进行iPhone toolchain的开发上。

正常来讲,

id myObj = [[NSClassFromString(@"MySpecialClass") alloc] init];

id myObj = [[MySpecialClass alloc] init];

是同样的。可是,若是你的程序中并不存在MySpecialClass这个类,下面的写法会出错,而上面的写法只是返回一个空对象而已。

所以,在某些状况下,可使用NSClassFromString来进行你不肯定的类的初始化。

好比在iPhone中,SKStoreProductViewController 可能就会出现这种状况,因此在你须要使用SKStoreProductViewController时,

最好使用:[[NSClassFromString(@"SKStoreProductViewController") .....]]

而不要直接使用 [SKStoreProductViewController ...]这种写法,由于 SKStoreProductViewController 在iOS6如下的版本并不支持。

NSClassFromString的好处是:

a 弱化链接,所以并不会把没有的Framework也link到程序中。

b 不须要使用import,由于类是动态加载的,只要存在就能够加载。所以若是你的toolchain中没有某个类的头文件定义,而你确信这个类是能够用的,那么也能够用这种方法。

六、iPhone来电的时候背后的闪光灯不停的闪

设置里面选通用,而后选辅助功能,而后关闭LED闪烁就能够了。

七、TBXML 如何遍历指定元素?

/**
 TBXML 解析xml
 element : 遍历指定的元素
 */
- (void) traverseElement:(TBXMLElement *)element {
    do {
        // 显示XML元素名称
        NSLog(@"%@",[TBXML elementName:element]);
            
        // 获取到当前节点的第一个属性
        TBXMLAttribute * attribute = element->firstAttribute;
            
        // 若是属性是有效的
        while (attribute) {
            // 在log窗口中显示属性的名称和值
            NSLog(@"%@->%@ = %@",[TBXML elementName:element],[TBXML attributeName:attribute], [TBXML attributeValue:attribute]);
                
            // 获取下一个属性
            attribute = attribute->next;
        }
            
        // 递归遍历下一个子元素
        if (element->firstChild) [self traverseElement:element->firstChild];
        
    // 获取同级元素
    } while ((element = element->nextSibling));
}

七、如何取消UITextAlignmentCenter的警告呢?烦死人了...   以下图:

修改UITextAlignmentCenter 为 NSTextAlignmentCenter

 

著做权声明:本文由 http://wzrong.cnblogs.com 或者 http://iostour.diandian.com 原创,欢迎转载分享。 请尊重做者劳动,转载时保留该声明和做者博客连接,谢谢!

 


 

原创文章,如需转载请注明出处,谢谢!

欢迎访问本人技术微博 @iOS之旅 相互交流,共同窗习,共同进步!

欢迎访问本人微博 @卫志荣

相关文章
相关标签/搜索