新做好的网站如何做seo,做网站的广告语,昆明小程序定制,聊城定制化网站建设教程汇总
IOS比较好的网络教程#xff1a;IOS编程浅蓝教程IOS编程教程#xff08;五#xff09;自定义UITableView的表单元格菜鸟教程-iOS教程
开发问题
实现页面切换#xff0c;网上某些文章写的是#xff1a;
[self.navigationController performSegueWithIdentifie…教程汇总
IOS比较好的网络教程IOS编程浅蓝教程IOS编程教程五自定义UITableView的表单元格菜鸟教程-iOS教程
开发问题
实现页面切换网上某些文章写的是
[self.navigationController performSegueWithIdentifier:ShowDetail sender:self];这么写的话软件运行时会报错 ‘Receiver (UINavigationController: 0x7f8e2781f400) has no segue with identifier ‘ShowDetail’’ 解决办法是
[self performSegueWithIdentifier:ShowDetail sender:self];也就是说应该用转场segue的源页面的控制器self来作为函数调用oc中叫通知对象。
找了两天终于找到这个问题的答案https://stackoverflow.com/questions/20715462/receiver-viewcontroller-has-no-segue-with-identifier-addsegue百度啥也搜不到啊都是你抄我我抄你难。
OC语言不支持类静态变量但是支持类静态属性如
property (class, nonautomic) int a;和类静态变量作用一样。
添加constraint后不显示可能是高度未设置值不能全为相对值。有时设置高度也没用必须要有内容才能显示和css类似。SafeArea是什么iOS 11 safeArea详解 iphoneX 适配。SafeArea下的content view的高度是随着内容改变的所以在添加高度的constraint时一般相对于SafeArea才能进行有效的高度设置。UIScrollView的FrameLayout和ContentLayoutiOS 11 适配工作iOS中的颜色ios开发常用RGB色值如何设置UILabel的内边距Storyboard中TabBarNavigator文字不更新第一种解决方法是重新连线第二种解决方法是取消本地化翻译然后再次加载本地化翻译在弹出的确认框中选择 “替换”。使用Prototype Cell 自定义表视图UIPickerView自定义选中的字体颜色、字号、字体NSMutableAttributedString使用介绍UIButton 基础iOS UITableView动态隐藏或显示ItemNSArray存结构体可以参考结构体存储在NSArray中的方式不过需要注意这样存的话结构体必须为POD即基本数据类型。如果结构体中包含对象指针则对象不会被正确释放。StoryBoard界面文字不更新是由本地化文件导致的保持Localization中Base不变先取消勾选本地化语言如EnglishChinese等再勾选弹出的对话框中选择Replace File即可更新翻译文件解决界面文件不更新的问题。iOS之枚举用法iOS-代码加载storyboard中的ViewController从url中获取文件名以及后缀
子控制器 addChildViewController
addChildViewController时子控制器中的UI显示问题iOS笔记 addChildViewControlleriOS addChildViewController方法以上文章都不靠谱addChildViewController要和removeFromParentViewController成对调用还要addSubView报错unbalanced calls to begin/end appearance transitions for uiviewcontroller的解决方法这个方法不怎么管用。也可以动画开始前关闭交互动画结束后开启交互。对我来说也不管用。去掉removeFromSuperView就好了。transitionFromViewController方法没有动画的问题transitionFromViewController方法的使用按照这篇文章做只需要在初始化时把所有的子ViewController通过调用addChildViewController加入到父ViewController其他地方都不需要调用addChildViewController也不需要removeFromParentViewController。addSubView也只是初始化时调用一次即可不需要在其他地方调用。options参数只有填UIViewAnimationOptionTransitionXXX才有动画这个才是动画类型而UIViewAnimationOptionCurveEaseOut是动画方式。
遮罩maskCALayer贝塞尔路径
iOS 利用CAShapeLayer的FillRule属性生成一个空心遮罩的layer。要理解两种填充方式的区别。
对话框
ios-如何在UIAlertController中隐藏标题/消息框架
导航
iOS开发之导航栏各种右滑返回失效的解决方法汇总Segue导航与传值官方文档Customizing the Behavior of Segue-Based Presentations关于Unwind Segue实现任意动态跳转官方文档Dismissing a View Controller with an Unwind Segue右滑返回很神奇多次启动右滑又取消会多次触发popViewControllerAnimated和willShowViewController但是取消右滑又不会触发任何函数。
界面
界面问题
关于UIButton嵌入到UIView点击无反应问题的解决方法和delegate的简单用法示例。在storyboard中画的大小在运行时就不是那么大了需要通过约束来显式指定其位置和大小。关于等宽字体。以前不知道等宽字体有什么用直到我想在软件中显示计时时间如果不用等宽字体时间数值文字会不断跳动不是我想要的效果。这个时候就需要等宽字体来显示数字。可以参考文章IOS 上支持的等宽字体。但是ios自己用的等宽字体是[UIFont monospacedDigitSystemFontOfSize:35 weight:UIFontWeightSemibold]。圆角按钮iOS 部分圆角的正确实现在此基础上稍加修改即可。iOS拦截导航栏返回按钮事件的正确方式(二)此方法有问题见iOS 13 and UINavigationBarDelegate::shouldPop()。即(BOOL)navigationBar:(UINavigationBar *)navigationBar shouldPopItem:(UINavigationItem *)item无论在模拟器还是在手机设备上都不调用。解决办法是重设delegate:self.navigationController.navigationBar.delegate self;不要采用catagory的方式实现直接实现UINavgationController子类并在Storyboard中设置导航控制器的类名即可。UINavigationController与UINavigationBar详解UITextField无法使用第三方键盘的问题。是因为设置了secureTextEntry为True的输入框会使其前一个输入框也无法使用第三方输入框。百度啥也搜不到见Native UITextField Secure Text Entry forces English (US) keyboard用谷歌搜。实现滑动分页效果类似于今日头条iOS使用pageViewController实现多视图滑动切换iOS UITableViewCell左滑/侧滑删除 仿微信如何像闹钟一样在锁屏界面显示自定义界面Alarm presenting specific View Controller instead of notification for iOS 10关于Xcode8新功能Trait Variations自定义UITableViewCell时.xib文件中的变量和事件虽然和XxxTableViewCell里面的IBOutlet或IBAction连接起来了但是事件不响应而且变量修改无效也就是没有关联起来。原因是我是通过File’s Owner的Outlets列表来连接的这样无效同时也设置了根View的class。取消File’s Owner的类设置改用根View的Outlets列表来连接就行。用文字描述有点难懂哈有问题评论区讨论。如何确定UIToolBbar中UIBarButtonItem的位置KxMenu,一个垂直方向展示的弹出菜单控制器类似于QDialog里面可以显示任意的UIView。事件的产生、传递、响应、应用UIView不响应事件4种情况超出父控件响应区、alpha0.01、隐藏、交互NO【hitTestwithEvent最适合的view和拦截事件】【pointInside:withEvent:点是否在自己坐标系】。参考本文解决了一个重大bug。将UITextField添加到storyboard中的一个UIView上可以正常显示但是无论如何都无法点击文本输入框。原因是在对UIView设置约束时只设置了高度没有设置宽度导致其bounds.size.width为0从而导致hitTest函数无法分配点击事件到子UITextField从而无法选中文本框进行编辑
界面元素
iOS 人机界面指南精简版笔记之界面元素Bars高版本ios底部有一个横条SafeArea不包含这个横条如果UITableView的高度和SafeArea相同那么屏幕底部就会有一块灰色区域。这个灰色区域不是什么控件只要把UITableView的高度设置到和SuperView一样高就可以消除这块灰色的遮挡UITableView的区域的了。UINavgationController包含是控制导航的。它包含的界面包括app界面的导航栏和工具栏并负责处理导航栏和工具栏的业务逻辑。夹在导航栏和工具栏中间的部分是我们的UIViewController业务子类脑海里要有这个结构。UINavigationItem这个类封装了UINavigationBar里面的所有元素每个UIViewController对应一个navigationItem可以使用self.naviigationItem访问。
对象间通信
信号槽
[Objective-C] selector 简介
本地通知
removeObserver的正确使用姿势
自动布局
问题LayoutConstraints] Unable to simultaneously satisfy constraints约束冲突参考translatesAutoresizingMaskIntoConstraints 详解即对约束的View设置translatesAutoresizingMaskIntoConstraints NO禁用AutoResizing布局防止冲突。约束冲突时最常见的问题例如设置了View上下距离为0来实现居中但是因为View高度不够这时候视图View就会靠上显示这时候如果想要居中就必须删除上下限制改用NSLayoutAttributeCenterY中心点对齐。左右同时设置内边距和设置宽度会冲突。
指针
对象指针不需要初始化默认为nil注意是ARC下的对象指针。
本地通知
iOS 10前后两种本地通知
远程通知
UITableView
UITableView全面解析UITableView被导航栏遮挡的解决办法如果是系统生成的NavigationController带的TableViewController会出现这样的问题。个人建议删除这个系统创建的TableViewController自新建一个普通的ViewController它的SafeArea不包含导航条在里面放一个TableView即可这样不光可以放TableView还可以放其他控件一举两得。如何在使用storyboard中使用tableViewController中的Prototype Cells 自定义cell本以为不需要新建类就可以处理其实最终还是避免不了要新建单元格类。Prototype Cells只是自定义的单元格的Ui界面而已并不会自动实例化需要在cellForRowAtIndexPath回调中通过dequeueReusableCellWithIdentifier:单元格identifier来创建。iOS: 在UIViewController 中添加Static UITableViewStatic Table Cell。iOS 9 Storyboard 教程(二上)介绍Segue静态单元格(static cell)个人喜欢使用动态单元格更灵活。关于tableView的reloadRowsAtIndexPaths可以了解到cell重用的机制。UITableView 在UITableViewStylePlain模型下取消headerView的黏结性不浮动UITableView在style为plain时,实现sectionHeader跟随cell移动iOS UITableView 实现去除Section的分割线保留Cell的分割线UITableviewFooter上拉显示不全的问题我没有用文中的做法而是添加约束table.bottom SuperView.bottomiOS UITableView section圆角阴影解决UITableViewStylePlain方式headerView顶端 滞留的代码iOS UITableView获取特定位置的cell将UITableViewCell设置为圆角困扰了我很久一句代码就可以搞定 cell.layer.cornerRadius 10 界面美化
iOS 统一定制导航栏的 appearance 方法
动画
CABasicAnimation.beginTime是绝对时间应该用CACurrentMediaTime()n否则设置无效。
IOS应用本地化/国际化
iOS应用本地化IOS本地化Localization native development region 更改语言无效
多媒体
系统提示音
iOS系统提示音的使用 这个问题搞了一天能踩的坑都被我踩了。。方法和代码参考上面的链接。 在模拟器中使用上面的方法是获取不到系统提示音列表的。通过代码枚举目录在iOS模拟器中运行进入到路径/System/Library/Audio/UISounds/下发现什么都没有。这导致我认为这个方法太老了不能用差点放弃。在互联网上搜了很久只有这个方法。而且在仓库https://github.com/TUNER88/iOSSystemSoundsLibrary的issue列表中看到有人说高版本iOS也可以用我用的是iOS14.5。又继续尝试这个方法。经过不断枚举发现iOS模拟器中的目录完全就是mac电脑的目录啊于是换成在真机上测试iphone11。 在我自己的手机上逐个目录枚举发现只能枚举到根目录下的内容子目录比如/System下的内容就枚举不出来了。一筹莫展时将路径直接改为/System/Library/Audio/UISounds/列表竟然出来了。也就是说虽然上级目录无法枚举但是指定目录还是可以枚举的iOS录音后播放声音变小的解决方法iOS音频Error项目中需要录音但是在录音开始和结束时播放1113和1114系统提示音结果出现提示音播放声音变小的问题。上面给出的两篇文章虽然给出了相关代码但是并没有完全解决我的问题。最后在多次尝试下得出最终的解决方案即一定要保证代码顺序先开启录制再设置音频会话参数最后再播放系统提示音顺序错了的话设置音频会话参数无效。先录音再播放时出现问题没有声音。录音文件5kb但是播放时没有声音以为是播放问题。参考AVAudioPlayer播放音频文件时没声音。后面通过打印音频文件时长得知音频文件还不到0.1秒。那么肯定是录制的问题了。经过修改代码audio session的设置一定要在record之前否则录音会失败
文件系统
fileURLWithPath不要用relativeToURL否则不会带有file:///前缀导致某些函数报错无法识别。iOS fileExistsAtPath:函数返回结果错误用NSFileManager的fileExistsAtPath检查file:///前缀的文件路径指向的文件是否存在会返回失败。要使用NSURL的checkResourceIsReachableAndReturnError函数来检查。pathForResource返回nil,以及UIWebView本地加载html、css/js文件名和后缀名分开写例如加载1.htmlNSString *filePath [[NSBundle mainBundle] pathForResource:1 ofType:html];
多线程
dispatch_async多线程通信
应用设置
iOS应用内跳转到系统设置页面iOS后台应用程序刷新
数据库
iOS中的数据库—使用FMDB
代码相关
iOS 注释方法大全 代码块加快捷键注释iOS 创建代码块
Cocopods
关于CocoaPods网速慢问题
应用签名
首先要明白公钥私钥的原理。应用签名是基于此的。xcode会为应用生成一对私钥公钥并且使用公钥加密provisioning profile应用信息描述文件在ios的设置中可以设置为允许非允许的那种描述应用信息的文件包括id组织开发者等在apple开发者中心中有介绍得到一串字符串打包到app中。当app安装到手机上时ios会根据应用的唯一id即bundle id找到对应的私钥在服务器端进行解密验证开发者等信息。如果这个签名字符串是伪造的或者不是此开发者开发的也就是说有信息匹配不上那么签名就会验证失败。原理就是这样。其中公钥开发者不需要自己管理最好不要去知道公钥因为公钥如果泄漏了签名可能会被伪造。所以说整个应用签名详细过程是apple实现的并对开发者透明的。