美文网首页
iOS开发过程中遇到的问题和解决方法

iOS开发过程中遇到的问题和解决方法

作者: jane4321 | 来源:发表于2017-08-24 15:42 被阅读169次
  • 1、在运行程序时候出现iPhone xx doesn’t match any of XXX.app’s targeted device families. You can expand XXX.app’s targeted device families to support iPhone xx.
    意思是说你运行的项目所需要的设备和当前选中的设备不匹配。解决方法



    targets
    1)、项目的targets---》General-----》Deployment Info -----》device 选中和你手机匹配的选项。上面有3个选项iPhone (手机运行项目)iPad (iPad运行项目) Universal(手机和iPad都可以运行项目) 根据自己的情况选择。
    2)、在路径(targets---》General-----》Deployment Info -----》device)中查看项目默认选择的设备类型。用与之匹配的设备运行项目。

  • 2、UIButton 添加倒计时功能后会一闪一闪的 原因
    把button的type改成custom就可以了
  • 3、在项目中遇到一个需求: 一个页面上半部分用原生控件(图1绿色部分)下半部分由于是大段的文字又带有html标签和图片所以用webview展示(图1红色部分)。如下图


    图一

按理说这种页面应该直接写成h5页面的,但是我们前端紧张所以用这种布局方式展示。这里就会遇到一个问题,怎么设置webview的高度正好和内容的高度一样。这里用到一个UIWebView的代理 - (void)webViewDidFinishLoad:(UIWebView*)webView
在这个方法中获取 webview的contentSize (webView中其实包含一个scrollView)
[self.webView.scrollView contentSize].height,就可以获取高度。

  • 4、向上取整用函数ceil()返回不小于x的最小整数值
    ceil()括号里的内容必须是浮点数。
    NSInteger rows =ceil(10/3);
    这个时候返回的rows是3。因为10 和3 都是整数,相除之后还是整数。
    NSInteger rows =ceil(10/3.0);
    这个时候返回的是4 。因为3.0是个浮点型的。所以相除之后也是浮点。向上取整就是4。
  • 5、打印导航栏子视图
// 获取子视图
- (void)getSub:(UIView *)view andLevel:(int)level {
    NSArray *subviews = [view subviews];
    if ([subviews count] == 0) return;
    for (UIView *subview in subviews) {
        
        NSString *blank = @"";
        for (int i = 1; i < level; i++) {
            blank = [NSString stringWithFormat:@"  %@", blank];
        }
        NSLog(@"%@%d: %@", blank, level, subview.class);
        [self getSub:subview andLevel:(level+1)];
        
    }
}

例如打印导航栏的子视图

[self getSub:self.navigationController.navigationBar andLevel:1];
  • 6、错误提示“control reaches end of non-void block”
    意思是这个block不是void类型的需要有个返回值。
  • 7、在appdelegate中获取当前的nav方法有两种
    1、如果是用UINavigationController来组织页面结构的话可以使用
UINavigationController *nav =  (UINavigationController*)self.window.rootViewController;
UIViewController *currentVC = nav.visibleViewController;

2、如果是用UITabBarController来组织页面结构的话

UINavigationController *nav = ((UITabBarController*)appDelegate.window.rootViewController);
UIViewController *currentVC = nav.selectedViewController;

相关文章

  • IOS开发小建议

    在IOS开发中我们会遇到各种各样的问题,这篇文章的目的就是记录开发过程中遇到的各种坑,和相应的解决方法。一来为了自...

  • iOS新做证书没有右三角,无法导出p12文件

    开发过程中,遇到使用自己的电脑创建的开发ios开发证书没有右三角,无法导出p12的问题 解决方法:点击keycha...

  • iOS开发记录

    总结iOS 开发中遇到的问题和解决方法 NSString 去掉 NSString中的空格和换行,string...

  • 入坑

    从今天开始,记录在iOS开发遇到的一些问题和一些解决方法

  • ios开发、其它情况遇到的问题及解决方法

    ios开发、其它情况遇到的问题及解决方法 自己搜索使用过的一些资料,仅供参考。 使用SDWebImage和YYIm...

  • C#篇

    简介 记录C#开发过程中遇到的问题解决方法,代码片段积累等格式:问题:(什么样的问题)解决方法:(如何解决,必填)...

  • JAVA篇

    简介 记录C#开发过程中遇到的问题解决方法,代码片段积累等格式:问题:(什么样的问题)解决方法:(如何解决,必填)...

  • 多线程的理论知识部分(一)

    前言: 在iOS开发过程中会遇到多线程和GCD的问题。开发过程中,使用多线程是为了提高性能,创造更好的用户体验。...

  • 多线程的理论知识部分

    前言: 在iOS开发过程中会遇到多线程和GCD的问题。开发过程中,使用多线程是为了提高性能,创造更好的用户体验。面...

  • IOS解决TextField、TextView键盘遮挡问题(已封

    前言:在我们ios开发过程中经常会遇到键盘遮挡问题,解决方法,网上搜索一大片,但总结起来其实就以下两点: 一、监听...

网友评论

      本文标题:iOS开发过程中遇到的问题和解决方法

      本文链接:https://www.haomeiwen.com/subject/yljedxtx.html