我正在研究具有UItableView的应用程序.在表的行中,我能够放置Checkmarks.S.现在如何保存检查标记状态,以便用户关闭应用程序 应剃光状态,并在下一次启动应用程序检查标记中显示. 我遵循了NSUSerDefaults的教程,但是将头发拉到放置保存和检索的代码的位置.我尝试过,但是每次错误都在塞满我并且无法修复. 我的代码: my.h文件 **@protocol LocationSelectionViewControllerDelegate @required - (void)rowSelected:(NSString *)selectedValue selectedIndex:(NSInteger)index; @end** @interface LocationSelection : UIViewController { UITableView
以下是关于 uitableview 的编程技术问答
我正在尝试从我的Ultralite DB的6个不同表中的10K记录加载数据. 我为6个不同的表创建了不同的功能. 我试图使用NSInVokeEperations,nsoperations,GCD,子分类NSOPERAINT并并行加载它们. 实际上,从1个表中加载10k需要4秒,再从5秒钟开始,如果我将这2个排队保持9秒.这意味着我的代码不是并行运行. 如何改善性能问题? 解决方案 可能有多种方法. 我建议的是: 将表视图的行数设置为确切的计数(在您的情况下为10k) 表视图被优化以在开始时仅创建几个单元格(遵循拉模型).因此CellForrowatIndExpath仅在开始时只会几次. 开始时只有一个数组,只获取50个条目.有一个计数器变量. 当用户滚动表查看并在50个获取下一个50个项目(将花费较少的时间)之后达到计数时,并使用下一个50个数据填充单元格. 继续做同样的事情. 希望它有效. 其他解决方案 您应该在块中获取记
我正在显示许多直接从我的应用程序中加载的图像(未下载).当我第一次滚动时,我的表观视图很慢.显示我所有的单元格之后,它变得平稳.我真的不知道为什么. 我有一个正在ViewDidload中加载的UIImage数组.然后在我的桌面委托中,我只在给定的索引路径上获取图像,然后将其设置为我的单元格的UIimageView. 您知道我如何改善表演吗? 解决方案 您可以阅读我刚刚提交的答案: 基本思想是使用Grand Central Despatch将您的表观图像的代码移至单独的线程,并在图像可用时将单元格填充在主线程上.即使有一个延迟将图像从文件系统加载到内存中,您的滚动也将是超平滑的. 其他解决方案 为了分享我已修复,并且遵循的步骤非常好. 1)通过使用滚动视图或UIView放置许多iamge的参数设置PermoreSelectorInbackground函数. . 2)在背景功能中加载了使用文件的imageWithContents加载从应用程序包
因此,基本上我从笔尖制作了一个定制单元格,希望我应用一些自定义设计,例如颜色和阴影. 我找到了两种应用样式的方法: awakefromnib(): override func awakeFromNib() { super.awakeFromNib() //Container Card Style self.container.layer.cornerRadius = 3 self.container.setDropShadow(UIColor.blackColor(), opacity: 0.20, xOffset: 1.5, yOffset: 2.0, radius: 1.8) //Rounded thumbnail self.thumb_image.setRoundedShape() self.thumb_image.backgroundColor = UIColor.customGreyTableBack
我有以下代码,可以在我的uitableviewcell的背景中添加边框颜色和掉落阴影.我的问题是,此代码在表观视图本身上导致巨大的滞后. 请您能告诉我如何优化我的代码,防止uitableview的滞后? if ([cell viewWithTag:012] == nil && comment.isReply == NO) { UIImageView *iv = [[[UIImageView alloc] initWithFrame:frame] autorelease]; [iv setImage:[UIImage imageNamed:@"paper"]]; [iv setTag:012]; [cell insertSubview:iv atIndex:0]; [iv.layer setBorderWidth:1.0]; [iv.layer setBorderColor:[[UIColor whiteColor] CGCol
这并不是一个真正的问题,因为我只是解决了这个问题,但是我认为问题的性质对于许多iPhone开发人员来说很常见,而解决方案并不是很明显的,所以我想分享我的经验.为了遵循堆叠的"问题/答案"格式,我将把细节和解决方案放入答案中. 详细信息: 我有一个包含两个标签的单元格,我从头开始放置了一个自定义的切换开关控件.如果我隐藏了切换控件,则表观视频像冠军一样滚动.但是,在显示的拨动控件时,滚动滚动的iPhone 3G痛苦不堪/慢.我的表观视图单元格没有透明的组件(除了层的掩码外),并且我要重复使用单元格. 自定义切换控件扩展了UIBUTTON,它的图层具有两个组件 - 一个UIImageView,其中包含切换的滑动"开关"部分和用作掩模的细长椭圆形,并在. 我是如何修复的?答案即将到来... 解决方案 我发现,慢/切碎的来源来自不得不在滚动时用面具sublayer重新复合层.我想每次屏幕都重新绘制时,都必须重新绘制切换开关. 我的解决方案是隐藏开关层/掩码,
i有一个链接到NSFetchedResultController的表视图(即加载数据以及跟踪数据的更改与FRC绑定) 我在单元格中不使用AutoLayout(由于性能下降,它在iOS 8中引入).我正在在单元格中手动阐述单元格的含量(使用-(void)layoutSubviews).另外,根据内容计算行的高度,并适当地缓存/无效. 如果与我的数据更改相关的任何条件,相关单元格会单独更新(整个-(void)controllerWillChangeContent:...通过-(void)controllerDidChangeContent:... -(void)controllerDidChangeContent:...委托方法),行更新的动画是:UITableViewRowAnimationNone 这里的问题是,我的单元具有透明的背景,我可以看到一些视觉噪音(很可能实际的单元垂直伸展,我不能确定,因为它们确实是短暂的,并且在[self.tableView reloadR
我有一个自定义的uitableviewcell,它由uiimageview和uilabel组成.该单元格是320x104px,图像视图占据了整个区域,并在前面的标签上占据.只有8个单元格. 在ViewDidload中,我正在前面创建所有需要的图像,并以正确的尺寸缓存它们. 当我滚动uitableview时,每次遇到新单元格时都会有一个明显的滞后.这对我来说毫无意义,因为它所使用的图像已经创建和缓存.我要问的单元格的所有内容都是为了呈现图像. 我正在使用XIB中的自定义单元格,并配置我的UITATION VIEW以使用: [self.tableview registernib:[uinib nibwithnibname:@" actscell"捆绑包:nil] ForcellReuseIdentifier:MyIdentifier]; 细胞创建和配置: - (UITableViewCell *)tableView:(UITableView *)table
我有点坚持这个……任何帮助都非常感谢.我已经花了很多时间来调试这个. 我有UITableView NSFetchedResultsController提供的数据源.在单独的视图控制器中,我使用[NSEntityDescription insertNewObjectForEntityForName:inManagedObjectContext:]将新记录插入到Coredata中,保存托管对象上下文并解散该控制器.非常标准的东西. 然后,托管对象上下文中的更改将由NSFetchedResultsController接收到: - (void)controllerWillChangeContent:(NSFetchedResultsController *)controller { [self.tableView beginUpdates]; } - (void)controllerDidChangeContent:(NSFetchedResultsContr
我正在为我的Swift应用程序创建一个设置页面,并且(在此处进行以下示例)我已经对A UITableViewCell进行了分类,并且在init()处理程序中,我将accessoryView设置为a . 我在子类上也有一个自定义@IBInspectable属性,该属性也标记为@IBDesignable: @IBDesignable class TableViewSwitchCell: UITableViewCell { @IBInspectable var settingsKey: String? func build() { accessoryView = UISwitch() } required init?(coder aDecoder: NSCoder) { super.init(coder: aDecoder) build() } override init
对于所有类别,我从JSON获得一个值,但是对于一个类别,我需要在TableView中额外的行,我在TextField中添加了额外的行和文本,但我无法验证其Textfield Text Value. 此代码: var finalSearchValue : String = "" var finalSearchValueAmnt : String = "" var cell : BillerTableViewCell? 为bcategoryname == "Mobile Postpaid" 添加了额外的行 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { if section == 0 { self.rowCount = selectedBiller?.bcustomerparms.count ?? 0 if selec
我已经写了pdfgenerator类来渲染整个Uitable View生成PDF. 用法: [pdfGenerator createPDFFromTableview:self.tableView]; 类方法: - (void)createPDFFromTableview:(UITableView *)tableview { [tableview scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0] atScrollPosition:UITableViewScrollPositionTop animated:NO]; [self renderTableView:tableview]; int rows = [tableview numberOfRowsInSection:0]; int numberofRowsInView = 17; for (i
我的应用程序具有带有自定义单元格的表视图(包括TextField,Label和按钮),我想从tableview生成一个PDF文件. bellow是代码(现在假设TableView的内容都可见): UIGraphicsBeginImageContext(self._tableView.bounds.size); UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, self._tableView.bounds.size.width, self._tableView.bounds.size.height), nil); // what's the code here? // [self._tableView drawInRect:]; UIGraphicsEndPDFContext(); 我总是生成一个空白的pdf文件. 目前,我要做的是将表图生成图像,然后将图像绘制到当前上下文,然后将获得
i有一个UITableView,它填充了一些数据,但由于它包含的数据比屏幕的可见区域更多,所以我只设法获得了它的快照,我想知道是否有我可以在PDF中获得整个TableView快照的任何其他方式. - (IBAction)clickMe:(id)sender { UIView *viewToRender = self.myTableView; CGPoint contentOffset = self.myTableView.contentOffset; UIGraphicsBeginImageContext(viewToRender.bounds.size); CGContextRef ctx = UIGraphicsGetCurrentContext(); // KEY: need to translate the context down to the current visible portion of the tablview
这是我第一次尝试在iOS中创建.pdf文件. 我有一个tableview,它生成了我想在.pdf文件中渲染的所有数据. 这是我用于捕获整个桌子的代码,从图像生成PDF并通过电子邮件发送: - (IBAction)save:(id)sender { // save all table CGRect frame = self.tableView.frame; frame.size.height = self.tableView.contentSize.height; self.tableView.frame = frame; UIGraphicsBeginImageContextWithOptions(self.tableView.bounds.size, self.tableView.opaque, 0.0); [self.tableView.layer renderInContext:UIGraphicsGetCurrentC
我已经创建了所有单元格的tableView的pdf.但是我已经创建了PDF,它没有显示TableView的所有数据以及PDF页面高度根据单元格数据设置时.我不知道如何解决这个问题.我正在使用此代码来创建PDF.请帮助我. let _: NSData! do { let priorBounds = table_view.bounds let fittedSize = table_view.sizeThatFits(CGSizeMake(priorBounds.size.width, .infinity)) table_view.bounds = CGRectMake(0, 0, fittedSize.width, fittedSize.height) let pdfPageBounds = CGRectMake(0, 0, 612, 800) l
我有一个可以查看已经存储在项目中的PDF的应用程序.我希望能够创建一个新的PDF文档并将其存储在应用程序目录中,以便以后在已经存在的查看器中查看. PDF将是从UITableView上显示的数组var todoList: [String] = []创建的.我知道要创建一个PDF,我必须创建一个文件名,路径和目录.我不知道该怎么做.我在线参考了URL和URL请求,但我不确定这是否是我想做的正确的途径.有人可以给我一些建议和指导吗?我能找到的一切都适用于Objective-C. 解决方案 我使用此代码来创建和保存文件(使用HTML) func createPDF() { let html = "Hello World!
Generate PDF file from HTML in Swift
" let fmt = UIMarkupTextPrintFormatter(markupText: html) // 2
所以这是我目前遇到的问题. 我有一个应用程序,该应用显示了带有UITAITEVIEW的Facebook/path.假设我的数据源具有大约200个项目,而并非所有单元都具有相同的内容和单元格高度.有些有图像,有些则没有.我能够通过以下格式使用可重复使用的标识符初始化我的单元格来克服滚动性能问题:[nsstring stringwithFormat:" entry_%d",Some_id].直到我开始使用uiimagePickerviewController之前,情况都非常好.可以想象,由于我的大数据源/表,我一直在收到很多内存警告. 使用路径应用程序并尝试将尽可能多的数据加载到单个视图中时;他们在滚动性能和内存管理方面都做得非常好.每当我进入相机模式时,他们的应用也不会崩溃. 有什么想法或理论? 谢谢! :) 解决方案 我强烈建议您查看Facebook iOS框架,该框架重新实现了表视图.该框架的名称为320,您可以在github 上找到它. 话虽如此,如
我需要从远程服务器上的多个来源解析多个JSON对象,并且我需要用单个解析的每个值填充UITATIOT VIEW: 单个JSON源,示例h ** p://www.remoteserverwithjsonsource.net/a1: { "id": 0001, "main": { "mainA": 100, }, } 单个JSON源,示例h ** p://www.remoteserverwithjsonsource.net/a2: { "id": 0002, "main": { "mainA": 200, }, } 单个JSON源,示例h ** p://www.remoteserverwithjsonsource.net/a3: { "id": 0003, "main": { "mainA": 300, }, } 在这里i Alloc并初始化包含单个URL的数组: - (void)v