精华内容
参与话题
问答
  • iOS开发 iOS13禁用深色模式

    万次阅读 2019-09-24 15:44:33
    全局禁用深色模式(暗黑模式) 在Info.plist中增加UIUserInterfaceStyle,值为Light,如下 <key>UIUserInterfaceStyle</key> <string>Light</string>...如果想要在某个UIViewController中禁用深色...

    全局禁用深色模式(暗黑模式)
    在Info.plist中增加UIUserInterfaceStyle,值为Light,如下

    <key>UIUserInterfaceStyle</key>
    <string>Light</string>
    

    如果想要在某个UIViewController中禁用深色模式
    请增加如下代码

    override func viewDidLoad() {
        super.viewDidLoad()
        // overrideUserInterfaceStyle is available with iOS 13
        if #available(iOS 13.0, *) {
            // Always adopt a light interface style.
            overrideUserInterfaceStyle = .light
    }
    

    如果要适配深色,请移步https://xiaozhuanlan.com/topic/1064789253#sectionios

    参考链接:https://stackoverflow.com/questions/56546267/ios-13-disable-dark-mode-changes

    展开全文
  • ios 8版本启动APP白屏怎么回事?只有在iOS8版本会出现,iOS8以上都没有问题,打断点,- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 函数也没进...
  • 2015年apple推出了UIStackView,适配更加简单了。UIStackView,补充了相比安卓开发一直缺少的线性布局。

    2015年apple推出了UIStackView,适配更加简单了。UIStackView,补充了相比安卓开发一直缺少的线性布局
    UIStackView继承自UIView,但是不是普通的UIView,后面会做介绍。
    UIStackView主要包括了四大属性:axis、alignment、distribution、spacing。
    一、axis
    主要设置UIStackView布局的方向:水平方向或垂直方向。
    typedef NS_ENUM(NSIntegerUILayoutConstraintAxis) {
    UILayoutConstraintAxisHorizontal =0,//水平方向分布
    UILayoutConstraintAxisVertical =1//垂直方向分布
    };
    二、alignment
    主要设置非轴方向子视图的对齐方式。
    typedef NS_ENUM(NSIntegerUIStackViewAlignment) {
    UIStackViewAlignmentFill,//子视图填充StackView
    UIStackViewAlignmentLeading,//子视图左对齐(垂直方向)
    UIStackViewAlignmentTop =UIStackViewAlignmentLeading,//子视图顶部对齐(水平方向)
    UIStackViewAlignmentFirstBaseline,// 按照第一个子视图的文字的第一行对齐,同时保证高度最大的子视图底部对齐(水平方向)
    UIStackViewAlignmentCenter,//子视图居中对齐
    UIStackViewAlignmentTrailing,//子视图右对齐(垂直方向)
    UIStackViewAlignmentBottom =UIStackViewAlignmentTrailing,//子视图底部对齐(水平方向)
    UIStackViewAlignmentLastBaseline,// 按照最后一个子视图的文字的最后一行对齐,同时保证高度最大的子视图顶部对齐(水平方向)
    NS_ENUM_AVAILABLE_IOS(9_0);
    三、distribution设置子视图的分布比例。
    四、spacing 控制子视图之间的间隔大小。
    废话不多说,直接上实例。


    如上图,第三方分享的平台,如果设备没安装微信客户端,需要去掉微信和朋友圈的两个按钮,另外三个按钮仍然居中显示,代码来写会比较麻烦(相比UIStackView)。
    1.找到uistackview拖到xib中。

    stackview相当于一个容器,在视图上是显示不了的,虽然继承自UIView,但是设置backgroundColor等属性是无效的。
    容器里的uiview或者其子类,是不需要添加约束的,即使添加了约束,在放入uistackview中后,约束也会被自动删除,那么约束到底怎么加,很简单,给容器加,如图,我们给该stackview添加了约束,使其位于屏幕下方。

    设置右侧属性如图,选择distribution为fill equally

    添加一个uibutton,不用添加约束,拖进去就会发现,button自动居中显示了。

    然后按住ALT键,复制该button,两个button,居中平均分布了,我们要的效果完成了。

    那么如何使用代码根据是否安装客户端来进行按钮的添加和删除呢?

    uistackview里面有这两个方法
    - (void)addArrangedSubview:(UIView *)view; //添加
    - (void)removeArrangedSubview:(UIView *)view;//删除

    @property (weak, nonatomic) IBOutlet UIStackView *stackView;
    @property (weak, nonatomic) IBOutlet UIButton *weixin;
    @property (weak, nonatomic) IBOutlet UIButton *weiZone;
    @property (weak, nonatomic) IBOutlet UIButton *weibo;
    @property (weak, nonatomic) IBOutlet UIButton *QQ;
    @property (weak, nonatomic) IBOutlet UIButton *QQZone;
    
    @end
    
    @implementation ShareVC
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        if ([WXApi isWXAppInstalled]) {
            [self.weixin removeFromSuperview];
            [self.weiZone removeFromSuperview];
        }
        if ([QQApiInterface isQQInstalled]) {
            [self.QQ removeFromSuperview];
            [self.QQZone removeFromSuperview];
        }
        if ([WeiboSDK isWeiboAppInstalled]) {
            [self.weibo removeFromSuperview];
        }
        
    }


    这两个方法就实现了按钮的添加和删除。但是这里的删除和添加仅仅是添加到容器中,特别注意的是删除的实现,如果该按钮的位置仍处于屏幕中,该按钮还会按原来的位置显示,只是不再该容器中了,所以删除操作最好实用removeFromSuperView才能彻底从屏幕中移除。

    附:点击容器中得一个uiview,选择小尺子,我们看到了下面两个重要属性


    Content Hugging Priority是水平、垂直方向的拉伸优先级.Content Compression Resistance Priority是水平、垂直方向的压缩优先级.
    数值越小越容易被拉伸。
    除了从右下角直接拖动添加uistackview之外,还可以直接在xib中先添加几个uibutton,然后按住command选择所有uibutton,点击右下角四个按钮中第一个按钮。如图,第一个按钮。


    这时候就会将按钮放进了一个stackview中,再进行后续操作。


    展开全文
  • IOS开发从入门到精通-第一章

    千人学习 2018-04-08 22:16:23
    本课程详细介绍了IOS开发环境搭建及开发工具的使用,讲解了IOS开发常用视图控件的使用 ,还讲解了一个实用的功能实例:APP启动引导页的开发。
  • iOS开发指南》(第二版 iOS7)源码

    千次下载 热门讨论 2014-03-20 11:11:59
    ios开发指南:从零基础到app store上架(第2版)》采用全新的ios 7 api,详细介绍了最新的ios 7 开发相关的知识点。本书共分为4 个部分:第一部分为基础篇,介绍了ios 的一些基础知识;第二部分为网络篇,介绍了ios ...
  • iOS 13 黑暗模式总结探索 暗黑模式苹果开发文档 如何不进行系统切换样式的适配 注意 同一工程内多个Assets文件在打包后,就会生成一个Assets.car 文件,所以要保证Assets内资源文件的名字不能相同 苹果官方...

    导读:
    Material Design & iOS 13 黑暗模式总结探索

    暗黑模式苹果开发文档

    如何不进行系统切换样式的适配

    注意

        同一工程内多个Assets文件在打包后,就会生成一个Assets.car 文件,所以要保证Assets内资源文件的名字不能相同。
        苹果官方强烈建议适配暗黑模式(Dark Mode)此功能也是为了开发者能慢慢将应用适配暗黑模式,所以想通过此功能不进行适配暗黑模式,预计将会被拒。
    

    暗黑模式的优点:

    • 省电
    • 沉浸式效果明显
      深色背景的优势是可以突出与我们主要交互操作的内容,弱化其他辅助元素并降低屏幕整体的亮度减少视觉压力。

    全局关闭暗黑模式

    在Info.plist 文件中,添加UIUserInterfaceStyle key 名字为 User Interface Style 值为String, 将UIUserInterfaceStyle key 的值设置为 Light

    单个界面不遵循暗黑模式

    UIViewController与UIView 都新增一个属性 overrideUserInterfaceStyle
    overrideUserInterfaceStyle 设置为对应的模式,则强制限制该元素与其子元素以设置的模式进行展示,不跟随系统模式改变进行改变

    • 设置 ViewController 的该属性, 将会影响视图控制器的视图和子视图控制器采用该样式
    • 设置 View 的该属性, 将会影响视图及其所有子视图采用该样式
    • 设置 Window 的该属性, 将会影响窗口中的所有内容都采用样式,包括根视图控制器和在该窗口中显示内容的所有演示控制器(UIPresentationController)

    如何在代码里进行适配颜色(UIColor)

    + (UIColor *)colorWithDynamicProvider:(UIColor * (^)(UITraitCollection *))dynamicProvider API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    - (UIColor *)initWithDynamicProvider:(UIColor * (^)(UITraitCollection *))dynamicProvider API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    
    
    

    e.g.

    [UIColor colorWithDynamicProvider:^UIColor * _Nonnull(UITraitCollection * _Nonnull trait) {
        if (trait.userInterfaceStyle == UIUserInterfaceStyleDark) {
            return UIColorRGB(0x000000);
        } else {
            return UIColorRGB(0xFFFFFF);
        }
     }];
    

    系统调用更新方法,自定义重绘视图

    当用户更改外观时,系统会通知所有window与View需要更新样式,在此过程中iOS会触发以下方法

    UIView
    traitCollectionDidChange(_:)
    layoutSubviews()
    draw(_:)
    updateConstraints()
    tintColorDidChange()
    
    UIViewController
    traitCollectionDidChange(_:)
    updateViewConstraints()
    viewWillLayoutSubviews()
    viewDidLayoutSubviews()
    
    UIPresentationController
    traitCollectionDidChange(_:)
    containerViewWillLayoutSubviews()
    containerViewDidLayoutSubviews()
    

    适配Dark Mode

    • 颜色适配
    • 图片适配

    1 颜色适配

    • iOS13系统动态颜色

    iOS13 之前 UIColor只能表示一种颜色,而从 iOS13 开始UIColor是一个动态的颜色,在LightModeDark Mode可以分别设置不同的颜色。
    iOS13系统提供了一些动态颜色

    @property (class, nonatomic, readonly) UIColor *systemBrownColor        API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    @property (class, nonatomic, readonly) UIColor *systemIndigoColor       API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    @property (class, nonatomic, readonly) UIColor *systemGray2Color        API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    @property (class, nonatomic, readonly) UIColor *systemGray3Color        API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    @property (class, nonatomic, readonly) UIColor *systemGray4Color        API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    @property (class, nonatomic, readonly) UIColor *systemGray5Color        API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    @property (class, nonatomic, readonly) UIColor *systemGray6Color        API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    @property (class, nonatomic, readonly) UIColor *labelColor              API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    @property (class, nonatomic, readonly) UIColor *secondaryLabelColor     API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    @property (class, nonatomic, readonly) UIColor *tertiaryLabelColor      API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    @property (class, nonatomic, readonly) UIColor *quaternaryLabelColor    API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    @property (class, nonatomic, readonly) UIColor *linkColor               API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    @property (class, nonatomic, readonly) UIColor *placeholderTextColor    API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    @property (class, nonatomic, readonly) UIColor *separatorColor          API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    @property (class, nonatomic, readonly) UIColor *opaqueSeparatorColor    API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    @property (class, nonatomic, readonly) UIColor *systemBackgroundColor                   API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    @property (class, nonatomic, readonly) UIColor *secondarySystemBackgroundColor          API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    @property (class, nonatomic, readonly) UIColor *tertiarySystemBackgroundColor           API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    @property (class, nonatomic, readonly) UIColor *systemGroupedBackgroundColor            API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    @property (class, nonatomic, readonly) UIColor *secondarySystemGroupedBackgroundColor   API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    @property (class, nonatomic, readonly) UIColor *tertiarySystemGroupedBackgroundColor    API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    @property (class, nonatomic, readonly) UIColor *systemFillColor                         API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    @property (class, nonatomic, readonly) UIColor *secondarySystemFillColor                API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    @property (class, nonatomic, readonly) UIColor *tertiarySystemFillColor                 API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    @property (class, nonatomic, readonly) UIColor *quaternarySystemFillColor               API_AVAILABLE(ios(13.0)) API_UNAVAILABLE(tvos, watchos);
    
    
    
    

    ① 实例

    [self.view setBackgroundColor:[UIColor systemBackgroundColor]];
    [self.titleLabel setTextColor:[UIColor labelColor]];
    [self.detailLabel setTextColor:[UIColor placeholderTextColor]];
    

    效果展示
    在这里插入图片描述
    用法和iOS13之前的一样,使用系统提供的这些动态颜色,不需要其他的适配操作

    • 自定义动态UIColor
      在实际开发过程,系统提供的这些颜色还远远不够,因此我们需要创建更多的动态颜色

    初始化动态UIColor方法

    iOS13 UIColor增加了两个初始化方法,使用以下方法可以创建动态UIColor
    注:一个是类方法,一个是实例方法

    + (UIColor *)colorWithDynamicProvider:(UIColor * (^)(UITraitCollection *))dynamicProvider API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    - (UIColor *)initWithDynamicProvider:(UIColor * (^)(UITraitCollection *))dynamicProvider API_AVAILABLE(ios(13.0), tvos(13.0)) API_UNAVAILABLE(watchos);
    
    
    
    • 这两个方法要求传一个block进去
    • 当系统在LightModeDarkMode之间相互切换时就会触发此回调
    • 这个block会返回一个UITraitCollection
    • 我们需要使用其属性userInterfaceStyle,它是一个枚举类型,会告诉我们当前是LightMode还是DarkMode
    typedef NS_ENUM(NSInteger, UIUserInterfaceStyle) {
        UIUserInterfaceStyleUnspecified,
        UIUserInterfaceStyleLight,
        UIUserInterfaceStyleDark,
    } API_AVAILABLE(tvos(10.0)) API_AVAILABLE(ios(12.0)) API_UNAVAILABLE(watchos);
    

    ② 实例

    UIColor *dyColor = [UIColor colorWithDynamicProvider:^UIColor * _Nonnull(UITraitCollection * _Nonnull trainCollection) {
            if ([trainCollection userInterfaceStyle] == UIUserInterfaceStyleLight) {
                return [UIColor redColor];
            }
            else {
                return [UIColor greenColor];
            }
        }];
        
     [self.bgView setBackgroundColor:dyColor];
    
    

    效果展示
    在这里插入图片描述

    2 图片适配

    • 打开Assets.xcassets
    • 新建一个Image set
      在这里插入图片描述
    • 打开右侧工具栏,点击最后一栏,找到Appearances,选择Any,Dark
      在这里插入图片描述
    • 将两种模式下不同的图片资源都拖进去
      在这里插入图片描述
    • 使用该图片
    [_logoImage setImage:[UIImage imageNamed:@"icon_logo"]];
    

    在这里插入图片描述
    大功告成,完成了颜色和图片的Dark Mode适配。

    获取当前模式(Light or Dark)

    有时候我们需要知道当前处于什么模式,并根据不同的模式执行不同的操作 iOS13中CGColor依然只能表示单一的颜色通过调用UITraitCollection.currentTraitCollection.userInterfaceStyle获取当前模式

    if (UITraitCollection.currentTraitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) {
            [self.titleLabel setText:@"DarkMode"];
        }
        else {
            [self.titleLabel setText:@"LightMode"];
        }
        
    

    3. 其他

    1.监听模式切换

    有时我们需要监听系统模式的变化,并作出响应
    那么我们就需要在需要监听的viewController中,重写下列函数

    // 注意:参数为变化前的traitCollection
    - (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection;
    
    // 判断两个UITraitCollection对象是否不同
    - (BOOL)hasDifferentColorAppearanceComparedToTraitCollection:(UITraitCollection *)traitCollection;
    
    

    ① 示例

    - (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
        [super traitCollectionDidChange:previousTraitCollection];
        // trait发生了改变
        if ([self.traitCollection hasDifferentColorAppearanceComparedToTraitCollection:previousTraitCollection]) {
        // 执行操作
        }
        }
        
    

    2.CGColor适配

    我们知道iOS13后,UIColor能够表示动态颜色,但是CGColor依然只能表示一种颜色,那么对于CALayer等对象如何适配暗黑模式呢?当然是利用上一节提到的监听模式切换的方法啦。

    ① 方式一:resolvedColor

    // 通过当前traitCollection得到对应UIColor
    // 将UIColor转换为CGColor
    - (UIColor *)resolvedColorWithTraitCollection:(UITraitCollection *)traitCollection;
    

    实例

    - (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
        [super traitCollectionDidChange:previousTraitCollection];
        
        UIColor *dyColor = [UIColor colorWithDynamicProvider:^UIColor * _Nonnull(UITraitCollection * _Nonnull trainCollection) {
            if ([trainCollection userInterfaceStyle] == UIUserInterfaceStyleLight) {
                return [UIColor redColor];
            }
            else {
                return [UIColor greenColor];
            }
        }];
        UIColor *resolvedColor = [dyColor resolvedColorWithTraitCollection:previousTraitCollection];
        layer.backgroundColor = resolvedColor.CGColor;
        
    

    ② 方式二:performAsCurrent

    // 使用当前trainCollection调用此方法
    - (void)performAsCurrentTraitCollection:(void (^)(void))actions;
    

    示例

    - (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
        [super traitCollectionDidChange:previousTraitCollection];
        
        UIColor *dyColor = [UIColor colorWithDynamicProvider:^UIColor * _Nonnull(UITraitCollection * _Nonnull trainCollection) {
            if ([trainCollection userInterfaceStyle] == UIUserInterfaceStyleLight) {
                return [UIColor redColor];
            }
            else {
                return [UIColor greenColor];
            }
        }];
        [self.traitCollection performAsCurrentTraitCollection:^{
            layer.backgroundColor = dyColor.CGColor;
        }];
        
    }
    
    

    方式三:最简单的方法
    直接设置为一个动态UIColor的CGColor即可

    - (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
        [super traitCollectionDidChange:previousTraitCollection];
        UIColor *dyColor = [UIColor colorWithDynamicProvider:^UIColor * _Nonnull(UITraitCollection * _Nonnull trainCollection) {
            if ([trainCollection userInterfaceStyle] == UIUserInterfaceStyleLight) {
                return [UIColor redColor];
            }
            else {
                return [UIColor greenColor];
            }
        }];
            layer.backgroundColor = dyColor.CGColor;
    }
    
    
    

    ⚠️!!! 设置layer颜色都是在traitCollectionDidChange中,意味着如果没有发生模式切换,layer将会没有颜色,需要设置一个基本颜色

    3.模式切换时打印log

    • 在Xcode菜单栏Product->Scheme->Edit Scheme
    • 选择Run->Arguments->Arguments Passed On Launch
    • 添加以下命令即可
      UITraitCollectionChangeLoggingEnabled YES
      在这里插入图片描述

    4.强行设置App模式

    当系统设置为Light Mode时,对某些App的个别页面希望一直显示Dark Mode下的样式,这个时候就需要强行设置当前ViewController的模式了

    // 设置当前view或viewCongtroller的模式
    @property(nonatomic) UIUserInterfaceStyle overrideUserInterfaceStyle;
    

    示例

    // 设置为Dark Mode即可
    [self setOverrideUserInterfaceStyle:UIUserInterfaceStyleDark];
    

    ⚠️ 注意!!!

    • 当我们强行设置当前viewControllerDark Mode后,这个viewController下的view都是Dark Mode
    • 由这个ViewController present出的ViewController不会受到影响,依然跟随系统的模式
    • 要想一键设置App下所有的ViewController都是Dark Mode,请直接在Window上执行overrideUserInterfaceStyle
    • window.rootViewController强行设置Dark Mode也不会影响后续present出的ViewController的模式

    5.NSAttributedString优化

    对于UILabel、UITextField、UITextView,在设置NSAttributedString时也要考虑适配Dark Mode,否则在切换模式时会与背景色融合,造成不好的体验

    推荐的做法

    // 添加一个NSForegroundColorAttributeName属性
    NSDictionary *dic = @{NSFontAttributeName:[UIFont systemFontOfSize:16],NSForegroundColorAttributeName:[UIColor labelColor]};
    NSAttributedString *str = [[NSAttributedString alloc] initWithString:@"富文本文案" attributes:dic];
    
    
    

    总结

    总的来说,iOS13主要有以下变化:
    1.支持 Dark Mode
    2.UIColor变为动态颜色
    3.更新StatusBar样式
    4.更新UIActivityIndicatorView样式

    参考文档

    iOS开发如何适配暗黑模式(Dark Mode)
    iOS13 暗黑模式(Dark Mode)适配之OC版

    展开全文
  • Qt,FFmpeg跨平台开发iOS,Android,Mac,linux,桌面软件都不再是障碍。让学员能够,融汇贯通掌握音视频领域相关知识,从事音视频相关职业,年薪轻松三四十万不是梦。 付费学员加入QQ群,可获得1~3年的专业解答,...
  • IOS开发界面设置指南-IOS开发

    千次阅读 多人点赞 2012-03-12 14:48:56
    IOS开发界面设置指南 http://download.csdn.net/detail/iukey/4133785
    展开全文
  • iOS开发-全面解析iOS蓝牙BLE4.0开发

    千人学习 2017-03-24 13:36:32
    只要你会OC基础,会写HelloWorld,你就可以实现iOS的蓝牙通信功能,实现蓝牙小项目也不在话下,作者会带领大家详细分析BLE4.0原理,通过分析xcode使用的蓝牙API,让学者能够得心应手的实现蓝牙BLE4.0的开发
  • iOS开发教程之OC语言

    万人学习 2015-04-01 18:25:25
    Objective-C是扩充C的面向对象编程语言,iOS开发是用的Objective-C语言,本专题更系统的讲解Objective-C语言当中的一些要点,类的封装、基本数据结构(NSString、NSData)、继承、内存管理(retain点语法、MyArray、...
  • 请问哪里有海康威视ios sdk,或者说我有端口和IP,怎么连接远程摄像头? 先谢谢了!
  • iOS开发证书管理

    千次阅读 2017-09-07 23:28:36
    总会报一些错误,有些是语法上的错误,老的代码在新的编译环境下不通过,还有的因为因为签名导致的错误,如常见的错误提示:“Failed to create provisioning profile.”,ios的证书管理是ios开发中必须掌握的技能,...
  • iOS开发-iOS10适配开发

    千次阅读 2016-09-14 11:23:11
    从6月份开始iOS10就受到广大开发者的关注,作为一个新的iOS版本,对于开发的要求改动算 是近几年来很大的,近期很多公司都是在加班加点的适配iOS10,因为闪退、崩溃、功能不能 使用等莫名的bug一直出现,个人总结了...
  • 本课程主要介绍了开发iOS app的一些基本情况。例如,需要的硬件和软件条件,如何申请开发者账号,XCode的常用功能介绍。后给出一个iOS App的案例来演示开发App的过程。
  • iOS9程序设计(顶级iOS开发视频课程-Objective-C版) 本课程主要内容包括: iOS9的基础知识 常用控件 屏幕适配 多窗口 导航 表视图 GPS 地图 网络 数据存储、 音频 视频 本地化等内容,并提供了大量的...
  • iOS开发之Objective-C编程基础

    万人学习 2015-06-25 13:51:14
    本系列课程视频提供iOS培训之Objective-C基础视频,第一个Obj-C程序 Hello world,面向对象编程,面向过程编程,类和对象,self使用详解, property基础,synthesize基础,...学生从零开始iOS开发的优质视频教程。
  • 安装iOS开发环境Xcode

    千次阅读 2015-07-21 21:04:42
    众所周知,开发iOS应用程序是在Xcode上进行开发的,这是开发iOS的唯一选择,不同于Eclipse/Android Studio之于android。同时对于Android开发来说,iOS开发的环境搭建是比较方便和简单的。下面来简单介绍如何安装...
  • 最近上IOS开发,买不起Mac,黑苹果又实在折腾,只好在Win10的系统上装MacOS虚拟机。 一、资源下载 这里提供我使用的打包好的资源以及最新版下载路径。 百度网盘:链接:MacOS虚拟机百度网盘 提取码: 6ghp。 (1...
  • iOS开发工程师

    千次阅读 2014-09-10 14:36:10
    岗位职责: 职位要求:
  • 构建 iOS 平台的知识与 Mac OS X 系统同出一辙,iOS 平台的许多开发工具和开发技术也源自 Mac OS X。但开发者无须具备 Mac OS X 开发经验就可以编写 iOS 应用程序。iPhone 软件开发包(SDK)为着手创建 iOS 应用程序...
  • iOS开发笔记 - 工具篇

    千次阅读 2016-03-03 11:07:49
    工欲善其事,必先利其器。作为一个合格的iOS开发者,熟练的使用各种开发或辅助开发的工具也算是一项必备技能吧,下面是我整理的一些工具及其应用场景和使用方法。
  • iOS进阶开发

    千人学习 2017-10-16 21:12:47
    进阶课程涵盖目前iOS开发需要提升和深入研究的基础知识.通过原理讲解,深入理解底层机制.课程答疑讲师QQ:471926977
  • ios开发--基础班视频

    万人学习 2016-06-27 16:10:22
    ios开发基础班视频涵盖了iOS开发的基础知识,iOS开发产品,iOS开发的模块。
  • iOS开发从appStore下载历史版本

    万次阅读 2018-03-29 21:35:00
      在实际的开发过程中,我们经常会遇到这样的需求,比如:1)为了验证接口对往期版本的影响;2)覆盖安装测试;3)新旧版本的各种比较测试。为了保证环境统一。我们需要的必要的时候去下载往期的ipa资源。这项能力...
  • iOS开发中常用的那些工具

    千次阅读 2017-02-23 21:17:52
    工欲善其事,必先利其器。 列表 XCode 无须多说 Instruments 性能分析工具:卡顿,内存,网络,数据存储等等 xcodebuild and xcrun 命令行工具用来脚本打包和测试 synx 把XCode工程中的Group自动映射到实际的文件夹 ...
  • iOS开发实现一个简易浏览器

    千次阅读 2015-07-28 15:00:00
    作为一个iOS开发的入门。具体步骤如下: (1)在Main.stroyboard中拖入几个控件,Text Field用来输入url,Button用来点击浏览,WebView用来显示页面。设计如图: 。 (2)打开右上角的Show the Assistant editor,...
  • iOS开发走向Java开发

    千次阅读 2017-12-08 00:39:43
    本文主要介绍我是如何学习Java开发的。
  • iOS开发那些事-iOS6苹果地图实用开发

    万次阅读 2013-07-04 09:57:05
    因此本节介绍的内容也同样适用于iOS5上运行地图应用开发iOS应用程序中使用Map Kit API开发地图应用程序。 其核心是MKMapView类使用。我们可以设置地图显示方式、控制地图,可以在地图上添加标注。
  • iOS开发- ios学习资源(持续更新)

    千次阅读 多人点赞 2014-04-04 19:35:25
    mark一些自己在学习过程中收集的资源。...构建iOS程序:下面的这篇文章介绍了 iOS 程序开发的过程: Start Developing iOS Apps Today 构建Mac OS X程序:下面这篇文章介绍了Mac OS X开发的过程: Start Developin

空空如也

1 2 3 4 5 ... 20
收藏数 551,006
精华内容 220,402
关键字:

ios开发