UITableView not updating DataSource after change to NSFetchedResultsController

I have an UITableView populated by a NSFetchedResultsController. The initial fetch works fine. I can add, remove, modify, etc with zero problems.. But I want to add user-defined sorting to the table. I am doing this by changing the NSFetchedResultsController to use a different sortDescriptor set, and a different sectionNameKeyPath. Here is the code where I change the fetch: -(void)changeFetchData { fetchedResultsController = nil; NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityForName:@"Object" inManagedObjectContext

2021-06-21 11:59:12    分类:问答    iphone   objective-c   uitableview   nsfetchedresultscontroller   nsfetchrequest

UIScrollView behavior is different in iOS8

I have the following layout So it's basically a scroll view that occupies whole screen. Content size is set to triple-width and same height. Inside the scroll view - there is container view and three table views - one per page. Only middle table view is visible initially. This allows me to use scroll view horizontal scrolling to navigate between the tables and vertical scrolling inside the middle table. I know that Apple doesn't really recommend putting UITableView inside UIScrollView, but in this particular case I don't know how to implement it differently, and until iOS8 everything was

2021-06-21 11:45:47    分类:问答    ios   cocoa-touch   uitableview   uiscrollview   ios8

为什么“使用未声明类型的 UITableView”会在 Swift 中发生?(Why the “Use of undeclared type UITableView” happened in Swift?)

问题 我是Swift新手。 我创建了第二个swift file调用DeviceInfo.swift和添加UIViewcontroller在Main.storyboard 。 我还在UIViewcontroller(DeviceInfo)添加了一个UITableView 。 但是在我通过command + left将UITableView连接到DeviceInfo.swift后,错误Use of undeclared type 'UITableView'显示。 错误显示如下。 问题 1. 为什么会出现Use of undeclared type 'UITableView' ? 如何解决? 2. 显示我连接dataSource并delegate给UIViewcontroller(DeviceInfo)吗? 提前致谢。 回答1 1. import UIKit 2.要连接delegate和dataSource ,请单击该点并拖动到您的 tableView。 回答2 您需要在文件顶部添加import UIKit ,在您已经拥有import Foundation 。 如果没有导入 UIKit,您的对象不知道 UITableView 是什么。 回答3 UIKit 框架中的UITableView ,你没有导入它。 所以import UIKit. 在您的viewDidLod : self

2021-06-21 11:43:26    分类:技术分享    ios   uitableview   swift

将多个原型单元加载到 UITableView 中(Load Multiple Prototype Cells into UITableView)

问题 我目前有一个包含 2 行自定义单元格的 UITableView。 我最近在我的故事板中添加了第二个原型单元格,并一直试图将它添加到我的 UITableView 中,但没有成功。 我的 cellForRowAtIndexPAth 方法如下: func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { let cell: FlightsDetailCell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as FlightsDetailCell cell.userInteractionEnabled = false if indexPath.section == 0 { cell.graphView.enableBezierCurve = true cell.graphView.enableReferenceYAxisLines = true cell.graphView.enableYAxisLabel = true cell.graphView.colorYaxisLabel = UIColor.whiteColor(

2021-06-21 11:37:32    分类:技术分享    ios   uitableview   swift   bemsimplelinegraph

Dynamic TableView Cell Heights Incorrect Until After Scrolling (iOS 8) - full screenshots attached

EDIT Built a new sample project from scratch and the dynamic tableview cell height is working flawlessly. I then tried to replicate by trimming down my project to it's bare minimum and it's STILL broken (first few cells buggy). Attaching full project for both working and not working examples. Project/code literally looks 99% identical and for the love of me can't figure out where the 1% difference is. The only thing that is popping out at me is that I used different size classes (wAny hAny vs wCompact hRegular but I can't imagine that would do anything given I'm testing in portrait only

2021-06-21 11:37:00    分类:问答    ios   objective-c   uitableview   autolayout   uistoryboard

detect urls in UILabel

I have a Tableview and tableview cell is customized to have a UILabel. The text in UILabel is having URLs. Is there a way to detect urls like how UITextView will enable detect URLs so that user interaction should be able to load the urls.

2021-06-21 11:27:31    分类:问答    ios   ipad   uitableview   uilabel

Detect when a UITableView is being reordered

I have a UITableView backed by an NSFetchedResultsController which may trigger updates at any time. If the user is currently reordering rows, applying these updates will cause an exception because the table view has temporarily taken over and you get an error like Invalid update: invalid number of rows in section [...] How can I detect when the user has started moving a cell so I can delay updates caused by the fetched results controller? There don't seem to be any table view delegate methods to detect this. This delegate method: - (NSIndexPath *)tableView:(UITableView *)tableView

2021-06-21 11:27:27    分类:问答    iphone   uitableview

UITableViewAutomaticDimension 不工作直到滚动(UITableViewAutomaticDimension not working until scroll)

问题 首次加载 Table View 时,所有可见单元格都是估计的行高度。 当我向下滚动时,单元格会自动正确调整大小,当我向上滚动时,最初估计行高度的单元格会自动正确调整大小。 一旦单元格被自动调整大小,它们似乎永远不会回到估计的行高度。 override func viewDidLoad() { super.viewDidLoad() self.navigationItem.backBarButtonItem = UIBarButtonItem(title: "", style: .Plain, target: nil, action: nil) self.tableView.estimatedRowHeight = 80.0 self.tableView.rowHeight = UITableViewAutomaticDimension // Uncomment the following line to preserve selection between presentations // self.clearsSelectionOnViewWillAppear = false // Uncomment the following line to display an Edit button in the navigation bar for this view

2021-06-21 10:50:15    分类:技术分享    ios   uitableview   swift   uikit

iOS 8 自动高度单元在第一次加载时不正确高度(iOS 8 Auto height cell not correct height at first load)

问题 我有一个 iOS 8 应用程序,我有一个搜索结果页面,每个单元格都根据某个标签的高度自动调整大小。 但是,在视图首次加载后,显示的单元格不会自动调整大小。 向下滚动后,后面的单元格大小正确。 我正在我的故事板中连接自动布局约束。 我在 viewDidLoad 中有以下代码。 - (void)viewDidLoad { [super viewDidLoad]; //configure tableView so that we use autolayout enabled row heights self.tableView.estimatedRowHeight = 68; self.tableView.rowHeight = UITableViewAutomaticDimension; } 有没有其他人经历过这种情况? 回答1 是的,我在故事板中创建视图和约束时遇到了同样的问题(但不是代码添加的视图)。 我通过在自定义单元类中添加此代码来解决此问题, -(void)didMoveToSuperview { [self layoutIfNeeded]; } 这可能可以去其他地方,但这个方法似乎只被调用一次,所以我认为这是一个很好的地方。 回答2 rdelmar 的回答对我不起作用。 我所做的是添加了以下代码: [tableView setNeedsLayout];

2021-06-21 10:32:57    分类:技术分享    ios   uitableview   ios8   autolayout

iPhone Tableview 在水平滚动而不是垂直滚动中使用单元格(iPhone Tableview Use Cells in Horizontal Scrolling not Vertical)

问题 这不是一个 uiview 方向问题,我想让 iPhone 处于纵向或横向,并且我想要一个标准的 tableview(控制器?),它将在 iphone 的垂直条带中显示单元格,并且 tableview 水平滚动。 - 即 100% 普通 tableview,即旋转 90 度而不旋转手机方向 这可能吗? 回答1 在视图控制器中旋转 viewDidLoad 中的 tableView: -(void)viewDidLoad { self.table.rowHeight = 320.0; self.table.separatorStyle = UITableViewCellSeparatorStyleSingleLine; // Rotates the view. CGAffineTransform transform = CGAffineTransformMakeRotation(-1.5707963); self.table.transform = transform; // Repositions and resizes the view. CGRect contentRect = CGRectMake(0, 90, 320, 300); self.table.frame = contentRect; self.table.pagingEnabled = YES; [super

2021-06-21 10:32:37    分类:技术分享    iphone   rotation   uitableview