在UITableViewCell中弹窗Alert延迟.在cellForRow中:cell.selectionStyle = UITableViewCellSelectionStyleNone; 或者在点击方法中:[tableView deselectRowAtIndexPath:indexPath animated:NO];…
在SwiftUI中显示模态视图 简介 这里教大家如何弹出一个简单的模态视图.分别有两个页面,ContentView和GCPresentedView,以下对应简称为A和B.我们要做的是在A视图中点击按钮跳转到B视图,然后再从B视图点击按钮返回到A视图. 步骤 在A视图中创建按钮和模态视图代码 struct ContentView: View { @State var isPresented = false var body: some View { Button(action: { self.is…
一.出现崩溃情景: 给tableView创建一个头视图,也即tableHeaderView,然后使用Masonry并切换到iOS7/7.1系统给tableHeaderView中的所有子视图添加约束,此时出现崩溃. 二.崩溃日志: Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Auto Layout still required after executing -layo…
if (self.messageModel) { NSString * htmlString = self.messageModel.contentText; NSAttributedString * attrStr1 = [[NSAttributedString alloc] initWithData:[htmlString dataUsingEncoding:NSUnicodeStringEncoding] options:@{ NSDocumentTypeDocumentAttribute…
修改  初始化webuploader的 js accept: null/*{ title: 'Images', extensions: 'gif,jpg,jpeg,bmp,png', mimeTypes: 'image/*' }*/ 改为 accept: { title: 'Images', extensions: 'jpg,jpeg,png', mimeTypes: 'image/jpg,image/jpeg,image/png' //修改成这样…
修改  初始化webuploader的 js accept: { title: 'Images', extensions: 'jpg,jpeg,png', mimeTypes: 'image/*' } 改为 accept: { title: 'Images', extensions: 'jpg,jpeg,png', mimeTypes: 'image/jpg,image/jpeg,image/png' //修改这行 }…
一般table view有编辑模式和正常模式,当table view进入编辑模式时,会在row的左边显示编辑和重排控件,如图 42所示的编辑模式时的控件布局:左边的editing control有表 61的两种图标. 表 61 table view编辑控件 图标 描述 Deletion控件 Insertion控件 若table view在编辑模式时,用户点击编辑控件,那么table view会发送一系列消息给data source 和delegate对象.可以通过实现这些方法来修改table v…
iOS中关于动态Tableview中的cell数据传输的多线程问题解决之拙见 (2015-12-05 12:48:20)[编辑][删除] 转载▼     首先我们先明确一下问题: 1.因为UI是在主线程中更新的,不能在down数据的同时显示界面,这样会使得下载的时间占用主线程,导致的后果就是你的屏幕就那样的卡死在哪了 2.如果要解觉问题1,就势必要将其下载数据的环节放在其他分线程上来实现,但是这里还会遇见一个问题,分线程的执行是不会有序的,这样,在动态显示的过 程中,cell中的数据就会混乱的变…
一.倒计时 @interface ViewController () { UIAlertController *alertview; NSString * message; NSTimer * waiTimer; NSInteger waitTctime; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor whi…
最近在项目中经常用到UITableView中的cell中带有UITextField或UITextView的情况,然后在这种场景下,当我们点击屏幕较下方的cell进行编辑时,这时候键盘弹出来会出现遮挡待输入的cell,导致我们无法很方便地查看到我们输入的内容,这样的体验是非常不好的.这个问题在之前我们的随笔iOS学习——键盘弹出遮挡输入框问题解决方案中也有讲过对应的解决方案,但是该方案在最近的应用中还有点小问题,我们在这里重新进行处理好. 一 主控制器为UITableViewController或…
自定义导航栏,随着tableView滚动显示和隐藏 一.介绍 自定义导航栏是APP中很常用的一个功能,通过自定义可以灵活的实现动画隐藏和显示效果.虽然处理系统的导航栏也可以实现,但是这个是有弊端的,因为系统导航栏是全局的,在任何一个地方去修改导航栏内部的结构,其他地方都会改变,需要再次去特殊处理,否则很容易出现不可预知的bug.此时,自定义是最好的选择. 二.思想 (1)在控制器将要显示时,隐藏系统的导航栏,显示自定义的导航栏 (2)在控制器将要消失时,显示系统的导航栏,隐藏自定义的导航栏 (3…
为了解决alert在ios版微信中显示url的问题 window.alert = function(name){ var iframe = document.createElement("IFRAME"); iframe.style.display="none"; iframe.setAttribute("src", 'data:text/plain,'); document.documentElement.appendChild(iframe)…
Label借助富文本显示图片 1.即时通讯项目中语音消息UI的实现,样式如图: 借助富文本在UILabel中显示图片和文字 // 1.创建一个可变的富文本 NSMutableAttributedString *voiceAttr = [[NSMutableAttributedString alloc] init]; if ([self.reuseIdentifier isEqualToString:@"receiveCell"]) { // 接收方的label:图片 + 时间 // 2…
说明:虽然是tableview中cell的长按手势  但是手势是添加在tableview上的 UILongPressGestureRecognizer *longpress = [[UILongPressGestureRecognizer alloc]initWithTarget:self action:@selector(pressAction:)]; [self.tableView addGestureRecognizer:longpress]; - (void)pressAction:(U…
当数据量很少的时候,tableview会显示很多的cell,而且是空白的,这样很不美观 所以使用下面的方法可以去掉多余的底部的cell 原理是:设置footerView为frame 是 CGRectZero ,造成一种假象! UIView *v = [[UIView alloc] initWithFrame:CGRectZero]; [self.myTable setTableFooterView:v]; 效果图大家试一下就知道了!…
在之前的有篇文章讲述了利用HeaderView来写类似QQ好友列表的表视图. 这里写的天猫抽屉其实也可以用该方法实现,具体到细节每个人也有所不同.这里采用的是点击cell对cell进行运动处理以展开“抽屉”. 最后完成的效果大概是这个样子. 主要的环节: 点击将可视的Cell动画弹开. 其他的Cell覆盖一层半透明视图,将视线焦点集中在弹出来的商品细分类别中. 再次点击选中的或其他Cell,动画恢复到点击之前所在的位置. 商品细分类别属于之前写过的九宫格实现.这里就不贴代码了.之前的文章:点击打…
Tableview时IOS中应用非常广泛的控件,当需要动态的添加多条不同的数据时,需要用动态表来实现,下面给出一个小例子,适用于不确定Section的数目,并且每个Section中的行数也不同的情况,适合新手.首先,我们来看一下效果图,模拟器上运行的结果: 文件结构: 下面来说实现过程,首先创建出游记录和出差记录的数据模型: 出游记录:Travel.h @interface Travel : NSObject @property (nonatomic, strong) NSString *cou…
上次转载了一篇<将你的网站打造成一个iOS Web App>,但偶然发现这篇文章的内容有些是错误的——准确来说也不是错误,只是不适合自半年前来的情况了(也可以说是iOS7 之后的时间)——话说现在的的移动设备真是日新月异.好了,结合Jeff 查阅的资料,下面来详细来说说iOS / Android 移动设备中的 touch icons. 关于 “Touch icons” favicons 知道是什么吧?浏览器的tab 前面的那个小图标,放入某个网站到收藏夹的时候也会看到,这个可以说是pc 互联网…
内置刷新 内置刷新是苹果IOS6以后才推出的一个API,主要是针对TableViewController增加了一个属性,refreshControl,所以如果想用这个内置下拉刷新的话,最好给你的TableView指定一个专门的视图控制器了. 使用的话,我们需要给refreshControl指定一个UIRefreshControl对象.跟进到头文件中看到 三个属性,算上初始化三个方法,并不难,然后配置refreshControl 附上代码 /******内置刷新的常用属性设置******/ UIR…
知识点: 1.在应用开发中,tableView中自带的分割线满足不了开发需求: 2.一些子空间中添加一些类似于分割线一样的东西等······ 补充知识点:导航条左侧或右侧的控件尽量靠近屏幕边缘设置 需求: 1.cell与cell之间需要一种白色的分割线: 2.cell的左侧能有视图标记此cell是被选中的,如下图所示: 实现方法: 1.左侧的红色选中标记: (1)左侧添加一个红色背景色的view,并设置其尺寸位置约束如下图: (2)通过代码设置其显示或隐藏的状态: // 红色标记属性 @prop…
//非原创   iPhone Tableview分批显示数据是本文要介绍的内容,主要讲解的是数据的显示.iPhone屏幕尺寸是有限的,如果需要显示的数据很多,可以先数据放到一个table中,先显示10条,table底部有一察看更多选项,点击察看更多查看解析的剩余数据.基本上就是数据源里先只放10条, 点击最后一个cell时, 添加更多的数据到数据源中. 比如:   数据源是个array:   NSMutableArray *items;  ViewController的这个方法返回数据条数: +…
Message sent to deallocated instance 关于的ios 开发中 deallocated问题,相信大家遇到了不少了: 关于怎么查找解决这个问题,特别是当问题在tableView出现的时候,我今天又有一点的新的看法. 单方面去查找中这个问题问题不大,但是当整个程序耦合性很高的时候,稍微不注意就会造成数据的过度释放. 如果追踪deallocate问题技巧 当你在tableVIew中出现这样的对象的错误,一定是你对象过度的释放了,因为tableView 中的Cell是重用…
IOS获取物理尺寸中7Plus中获取的是7的物理尺寸: 在开发调试过程中我的7Plus手机获取[uiscreen mainscreen].bounds为750  .1334. 解决方案:在手机中的显示与亮度更改为标准,就可以解决办法.一般情况下都是以物理尺寸来判断手机的启动页和广告的.毕竟如果用 + (NSString *)iphoneType { struct utsname systemInfo; uname(&systemInfo); NSString *platform = [NSStr…
Table View是UITableView类的实例对象,其是使用节(section)来描述信息的一种滚动列表.但与普通的表格不同,tableView只有一行,且只能在垂直方向进行滚动.tableView由多个section组成,而section又由行(row)组成,也可将行称为单元格(cell).Cell是UITableViewCell类的实例对象. 1 样式 UIKit框架提供了一些标准样式供设计UITableView和UITableViewCell的结构和显示外观,同时也提供一些单元格的附…
ios从相册/摄像头中获取视频 如何从相册中获取视频 使用的是一个和获取照片相同的类UIImagePickerController //相册中获取视频 - (IBAction)clickViedoOFAlbramAction:(id)sender{ UIImagePickerController *viedoCtr = [[UIImagePickerController alloc] init];//创建一个获取视频的类 viedoCtr.sourceType = UIImagePickerCo…
// 初始化button并设置类型 UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; // 可以定义的UIButton类型有下面6种: // typedef enum { // UIButtonTypeCustom = 0, 自己定义风格 // UIButtonTypeRoundedRect, 圆角矩形 // UIButtonTypeDetailDisclosure, 蓝色小箭头button,主要做具体说明用 /…
最近工作比较忙,但是还是出来更新博客了.今天博客中所涉及的内容并不复杂,都是一些平时常见的一些问题,通过这篇博客算是对UITableView中使用定时器的几种方式进行总结.本篇博客会给出在TableView中使用NSTimer或者DispatchSourcer中常见的五种方式.当然下方第一种方式是常规做法,不过也是UITableView中使用NSTimer的一个坑.其他三种方式是为了绕过这个坑的解决方案. 当然,本篇博客共涉及到了UITableView中使用定时器的四种实现方式,当然应该也还有其…
一.简单介绍 在UITableViewCell中每条数据中显示该内容的倒计时, 并随时间进行倒数,这是很多电商app最常见的活动推销功能模块,自然想到用的就是计时器了. 二.基本想法 想法1:在每个cell中添加NSTimer, 负责对cell的倒数 出现的问题: cell有重用机制,每次重用时数据不好处理, 而且每个cell的倒数数不同, 需要在重用时对NSTimer进行废除并重新开启, 如果显示的cell数量过多, 需要创建很多的NSTimer对象. 想法2:在模型中添加NSTimer, 负…
word.excel是32位的组件,当用户64位系统在运行窗口中输入dcomcnfg命令时,在打开的组件服务管理窗口,是找不到Microsoft Excel.word程序的.另外,Windows 环境下调试正常的程序,一拿到 Web 环境中就出错,怎么办呢?如果你也为此问题不知怎样解决而烦恼时,请来看看下面的方法吧. 一.打开32位dcom组件的方法:在“运行”窗口中输入comexp.msc -32 来打开32位的组件服务,就可看到excel组件了. 二. DCOM 的配置步骤:1.在应用程序列…
1,mysql数据库导出模型到powerdesigner 2,CRL+Shift+X 3,复制以下内容,执行 '******************************************************************************'* File:     comment2name.vbs'* Purpose:  在PowerDesigner的PDM图形窗口中显示数据列的中文注释'* Title:    将字段的comment赋值到字段的name中'* Cat…